当我在谷歌表单脚本编辑器中运行此脚本时,它显示
参数列表后缺少)。(第10行,文件"代码")
但无论我把)
放在哪里,它都不会解决。我还尝试在字符串引号之前添加,并将其更改为单引号,但没有成功。
这是脚本:
function onEdit(event) {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = SpreadsheetApp.getActiveSheet();
var CellRow = SpreadsheetApp.getActiveRange().getRow();
var CellColumn = SpreadsheetApp.getActiveRange().getColumn();
var sheetName = SpreadsheetApp.getActiveSheet().getSheetName();
if (and(sheetName == "MainView", CellColumn == 6)) {
sheet.getRange(CellRow, CellColumn).setFormula("=DATEDIF(C" + CellRow ",TODAY(),"
Browser.msgBox("DON'T MESS WITH THE FORMULAS!");
}
}
您在这里的行:
.setFormula("=DATEDIF(C"+CellRow",TODAY(),"Y")");
- 缺少
+
- 引号有问题。内部
"
需要用转义\
应该是
.setFormula("=DATEDIF(C"+CellRow +",TODAY(),"Y")");
适当的缩进会有很大帮助,但是:
("=DATEDIF(C"+CellRow",TODAY(),"Y")");
CellRow之后没有+
,Y
在双引号中,这就是字符串的定义,所以它在那里完成了实际的字符串。。。你需要单引号:
("=DATEDIF(C"+CellRow+",TODAY(),'Y')");
在这一行中:("=DATEDIF(C"+CellRow",TODAY(),"Y")")
CellRow和Y是要连接到传递给setFormula的字符串中的变量,对吗?
如果是这样的话,应该是("=DATEDIF(C"+CellRow+",TODAY(),"+Y+")")
您必须在正在构建的每一段字符串之间使用串联运算符(+)。