Устанавливаемый триггер не сработал

У меня есть устанавливаемый триггер в моей электронной таблице, однако, когда я редактирую лист, триггер не срабатывает.

снимок экрана устанавливаемого триггера

раньше мой триггер в порядке, я уже удаляю и добавляю новый триггер, но все еще не сработал.

скриншот подробностей проекта


--- Отредактировано ---

это моя конфигурация для каждого триггера

Конфигурация триггера функции newRow

Настройка триггера функции triggerpls


это код, который я хочу запустить

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);
  }
}
Другие вопросы по тегам