2013-07-05 110 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\')'