Функция OnEdit без ручного редактирования - PullRequest
0 голосов
/ 08 апреля 2020

Я использую функцию OnEdit для перемещения данных на другой лист, когда они изменяются в определенном столбце. Но изменение должно произойти с формулой. Но это не работает.

пример: когда я вручную изменяю А1 на «ок», функция OnEdit работает, но когда ячейка А1 меняет условие «Если» на «ОК», она не движется и движения нет.

Можете ли вы помочь мне работать с функцией Onedit без вмешательства человека?

1 Ответ

0 голосов
/ 09 апреля 2020

Проблема:

Как вы можете видеть в официальной документации :

onEdit(e) работает, когда пользователь меняет значение в электронной таблице.

То есть на сегодняшний день этот триггер не отслеживает изменения, которые были сделаны программно :

Выполнение сценария и запросы API не вызывать запуск триггеров. Например, вызов Range.setValue() для редактирования ячейки не приводит к запуску триггера onEdit электронной таблицы.

Обходной путь:

Возможный обходной путь для этого ограничения - управляемый временем триггер вместо. Например, у вас может быть триггер, который будет запускать каждую минуту , независимо от того, была ли электронная таблица отредактирована или нет.

Тогда внутри запущенной функции вы можете придумать способ проверить, редактировалась ли электронная таблица в последнюю минуту (например, сохранить предыдущие значения на другом листе или в свойстве сценария ). и сравните их с текущими) и выполните необходимые действия в этом случае.

Ссылка:

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