Проблема:
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», и он просто запустится автоматически.
Ссылки:
- Объекты событий