2013-07-05 153 views
0

我想寫我的第一個腳本。它應該填寫一組由用戶設置的變量的公式(不知道變量是否是正確的詞)。setFormulas missing]

我得到一個失蹤]第13行與此代碼的錯誤,任何人都可以發現它從哪裏丟失?所有支架似乎就好了配對:S

function setFormula(formulas) { 

    var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(); 
    //Asks for Cell range data 
var week = Browser.inputBox("Week:"); 
    var start = Browser.inputBox("Start:"); 
var end = Browser.inputBox("End:"); 

// The magic 
var formulas = [ 

    ["=SUM('Week " + week + "'!E" + start + ":E" + end +")"], 
    ["=COUNTIF('Week " + week + "'!E" + start + ":E" + end +";""Test/Media"")"], 
    ["=COUNTIF('Week " + week + "'!E" + start + ":E" + end +";""Test/Hardware"")"] 


]; 
//Highlighted cell range will get the magic 
var range = sheet.getActiveRange(); 
range.setFormulas(formulas); 
} 

感謝任何幫助或建議:)

回答

0
+";""..." 

這是無效的語法。

JavaScript字符串文字使用反斜線作爲轉義字符,所以你應該寫

+";\"..." 
+0

同樣的錯誤仍然:( – user2553682

+0

三江源令人驚訝的快速響應順便說一句 – user2553682

+0

如果我添加在硬件和媒體之後的代碼將被編譯,但在我的工作表上沒有任何反應。 – user2553682

0

可以甩開parenthesizer(c)與錯位的報價,這是這裏的情況。

["=COUNTIF('Week " + week + "'!E" + start + ":E" + end +";""Test/Media"")"], 
                  ^^   ^^ 

    ... should be ... 

["=COUNTIF('Week " + week + "'!E" + start + ":E" + end +";'Test/Media')"], 

...並在下一行重複。

當你需要在一個字符串中有引號時,你有兩個選擇在JavaScript中。

  1. 在雙引號分隔的字符串中使用單引號(反之亦然),就像您已經在做的那樣。 (你只是錯過了一些。)

  2. 逃逸單引號與\,如:

    ';\'Test/Media\')'