Устанавливаемый триггер не сработал - PullRequest
0 голосов
/ 03 февраля 2020

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

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

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


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

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

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

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


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

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 Ответ

1 голос
/ 03 февраля 2020

Попробуйте это:

Событие 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);
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...