Запускается ли триггер Google Sheet onEdit после перерасчета листа - PullRequest
1 голос
/ 18 октября 2019

У меня есть электронная таблица с триггером onEdit. A1 используется другими ячейками, скажем, B1.

Триггер «слушает» модификацию A1, а затем получает B1 новое значение для выполнения своей работы.

Вопросэто гарантирует, что B1 уже был пересчитан при срабатывании onEdit? например:

Ячейка B1 содержит формулу =A1+1

Теперь 1 введен в A1

function onEdit(e){

  var changeRng  = e.range;

  if (changeRng.getA1Notation() == "A1") {
    //Read value from B2
    var b1 = SpreadsheetApp.getActive().getActiveSheet().getRange(1, 2).getValue();
  }

}

Может ли переменная b1 быть равной 2?

1 Ответ

0 голосов
/ 18 октября 2019

Если onEdit() инициируется редактированием A1, нет гарантии, что B1 завершил пересчет до срабатывания onEdit(), особенно если пересчет B1 требует много времени.

Я рекомендую вам включить в начале onEdit функцию a Utilities.sleep(), чтобы дать значению в B1 достаточно времени для пересчета.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...