Google表格脚本 - 如果或声明

时间:2016-09-01 11:42:30

标签: if-statement google-apps-script google-sheets

超级快速的问题。我有这个功能我想在整个工作簿上运行,除了两个特定的工作表。

这是我的代码:

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;
    }

2 个答案:

答案 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移到空格。