我正在尝试创建一个脚本,该脚本根据从表单提交的数据创建一个新选项卡,并在创建时将公式插入到新选项卡中。脚本的最后一行给了我一个语法错误。 “在参数列表后缺少”。所有括号似乎都已正确关闭。我想念什么吗?
function makeTabs() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getActiveSheet();
var last = sheet.getLastRow();
for(var i=0; i<last; i++){
var tabName = sheet.getRange(i+1,1).getValue();
var create = ss.insertSheet(tabName);
var tab = ss.getRange('A2').activate();
var tab = ss.getCurrentCell().setFormula('=QUERY(\'Form Responses 1\'!A2:R,"select * where C="'tabName'",-1)")');
}
}
答案 0 :(得分:1)
假设tabName
是一个字符串,则它应该是Google表格一侧的单引号。还可以使用+
在Google Apps脚本端进行串联
替换
'=QUERY(\'Form Responses 1\'!A2:R,"select * where C="'tabName'",-1)")'
作者
'=QUERY(\'Form Responses 1\'!A2:R,"select * where C=\'"' + tabName + '\'",-1)")'
另一方面,请记住,最佳做法不鼓励在循环内使用Apps Script读/写方法
参考
答案 1 :(得分:0)
最后一条语句中存在语法错误,在此语句中,两个字符串之间用tabName
连接。可以使用+
运算符执行字符串连接,如下所示:
'=QUERY(\'Form Responses 1\'!A2:R,"select * where C="' + tabName + '",-1)")'
之所以收到错误,是因为没有操作符来表示一个操作或一个逗号来表示一个附加参数,它期望看到)
函数的关闭。