我有两个名称相同的函数“ myFunction”,我在编辑时使用google trigers运行了它,并且我有两个表如何为使用此表的每个表指定一个函数,但它不起作用
var ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Copy of Timesheet & Feedback");
//and on the other function
var ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Visits");
答案 0 :(得分:1)
getSheetByName()
将返回您要查找的工作表,但与正在编辑以触发您的功能的工作表无关。
您可以为此使用事件对象。将整个脚本包装在if
语句中,以检查工作表的名称。新功能应如下所示:
function myFunction(event) {
var ss = event.range.getSheet();
if (ss.getName() === "Copy of Timesheet & Feedback") {
//your code here
}
}
这样,如果找不到期望的工作表(if
语句中的工作表名称),代码将不会继续。
请注意,函数myFunction(event)
的名称很重要,“(事件)”很重要,因此我们可以访问事件对象以获取正在编辑的电子表格。
您将无法手动运行脚本,无法为“ on Edit”设置触发器,它将自动运行。