Вы хотите запустить return
, когда sheetName
равно Sheet1
или Sheet2
, которые являются именами листов. Если мое понимание верно, как насчет этой модификации?
Очки модификации:
- В вашем скрипте
sheetName
это строка. О Sheet1
и Sheet2
, до запуска var Sheet1 = ss.getSheetByName("Sheet1")
и var Sheet2 = ss.getSheetByName("Sheet2")
, это строки. Но после их запуска Sheet1
и Sheet2
становятся объектами Листа. В это время в if (sheetName == Sheet1 || sheetName == Sheet2) return;
сравниваются «строка» и «объект». Таким образом, сравнение, которое вы хотите, не может быть выполнено. Если вы хотите получить «true» из этого сравнения, вы можете сделать это, изменив на sheetName = "Sheet"
. Но я не думаю, что это то, что вы хотите. Таким образом, чтобы решить эту проблему, я думаю, что 2 модели для вашей ситуации. Пожалуйста, проверьте их и выберите нужный шаблон.
Шаблон 1
sheetName
сравнивается с Sheet1
и Sheet2
, которые являются именами листов.
Модифицированный скрипт:
var sheetName = sheet.getName();
if (sheetName == "Sheet1" || sheetName == "Sheet2") return;
Шаблон 2
Хотя я не уверен относительно sheet
из sheet.getName()
из вашего вопроса, если вы хотите сравнить листы после того, как он подтвердит, существуют ли Sheet1
и Sheet2
в активной электронной таблице, пожалуйста, измените следующим образом .
Модифицированный скрипт:
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheetName = sheet.getName();
var Sheet1 = ss.getSheetByName("Sheet1");
var Sheet2 = ss.getSheetByName("Sheet2");
if ((Sheet1 && sheetName == Sheet1.getName()) || (Sheet2 && Sheet2.getName())) return;
Примечание:
- В этом измененном сценарии
Sheet1 &&
из Sheet1 && sheetName == Sheet1.getName()
используется для проверки существования Sheet1
. Sheet2
тоже самое.
Если я неправильно понимаю ваш вопрос, извините.