0

我正在尝试编写我的第一个脚本。它应该用用户设置的变量填写一组公式(不确定变量是否是正确的词)。

我在此代码的第 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);
}

感谢您的任何帮助或建议:)

4

2 回答 2

0

您可以用错误的引号去掉括号 (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\')'
    
于 2013-07-10T02:01:31.487 回答
0
+";""..."

这是无效的语法。

Javascript字符串文字使用反斜杠作为转义字符,所以你应该写

+";\"..."
于 2013-07-05T12:26:39.330 回答