Устанавливаемый триггер не сработал
У меня есть устанавливаемый триггер в моей электронной таблице, однако, когда я редактирую лист, триггер не срабатывает.
раньше мой триггер в порядке, я уже удаляю и добавляю новый триггер, но все еще не сработал.
--- Отредактировано ---
это моя конфигурация для каждого триггера
это код, который я хочу запустить
function triggerpls() {
Utilities.sleep(2000);
console.log("triggered");
}
function newRow(e) {
var ROW_MODIFIED = ["INSERT_ROW"];
if(ROW_MODIFIED.indexOf(e.changeType) == -1) return;
var sheet = SpreadsheetApp.getActiveSheet();
var currentCell = sheet.getCurrentCell();
var maxRows = sheet.getMaxRows();
var range = sheet.getRange(2, 1, maxRows);
var values = range.getValues();
var higher = Number(values.sort(function(a,b){return b-a})[0]);
currentCell.setValue(higher + 1);
}
1 ответ
Попробуй это:
Событие onChange() работает только с изменениями пользователя. Это не работает, когда скрипт или функция ячейки вносят изменения.
function newRow(e) {
e.source.toast('Entry');
Logger.log(JSON.stringify(e));
var sh=e.source.getActiveSheet();
if(sh.getName()=='Sheet2' && e.changeType=='INSERT_ROW') {
var v=sh.getRange(2,1,sh.getLastRow(),1).getValues().map(function(r,i){return r[0];}).filter(function(e){return e;});
var h=Number(v.sort(function(a,b){return b-a})[0]);
sh.getCurrentCell().setValue(h+1);
}
}