超级快速的问题。我有这个功能我想在整个工作簿上运行,除了两个特定的工作表。
这是我的代码:
function onEdit(e) {
var sheet = SpreadsheetApp.getActiveSheet();
if (sheet.getName() != "Total" || sheet.getName() != "DataRange" ) {
someAction();
}
}
这只是不起作用,无论如何,代码都在所有工作表上运行。这可能是一个菜鸟问题但是。
编辑:我使用开关代替
解决了这个问题switch (sheet.getName()) {
case "Total":
return;
case "DataRange":
return;
default:
doSomething();
break;
}
答案 0 :(得分:0)
不是“答案”,因为您已经回答了自己的问题,但另一种选择: 我更喜欢使用indexOf我发现(在这种情况下)清除了开关:
function onEdit(e) {
var sheet = SpreadsheetApp.getActiveSheet();
if (["Total","DataRange"]indexOf(sheet.getName()) == -1 ) {
someAction();
}
}
我只是在数组中识别出我想要避免的所有工作表,然后检查当前工作表是否是其中之一(返回-1)
答案 1 :(得分:0)
我改用switch来解决
switch (sheet.getName()) {
case "Total":
return;
case "DataRange":
return;
default:
doSomething();
break;
}
Kenny Bones的回答已从question移到空格。