К основному контенту

Определения и области применения триггеров событий Edit и Change


В этой статье рассмотрены два триггера событий Edit и Change.

Определения

Важное замечание. Оба события происходят только при прямых действиях пользователей в Таблицах. Т.о. действие триггера или дискретной функции не может сгенерировать после себя событие.
Edit - событие широкого применения, которое происходит, когда изменяется значение диапазона Таблицы. Очень важно понять, что изменение касается только данных Таблицы и только в случае, если событие-инициатор произведено пользователем.
Change - событие, которое возникает при изменении контента или структуры самой Таблицы. Например, изменение цвета, размера ячейки, удаление, создание или перемещение листа.

Области применения

Триггер события Edit используется как простой onEdit и как устанавливаемый (регистрируемый) триггер. Это означает, что он может быть вызван как любым редактором, так и создателем триггера.
Событие Change может быть связано только регистрируемым триггером.

Аргументы

Событие Edit передает объект, который содержит следующие поля: authMode, source, range, value, oldValue, user, triggerUid.
Change передает authMode, source, changeType, user, triggerUid.

Подробнее https://developers.google.com/apps-script/guides/triggers/events

Комментарии

Популярные сообщения из этого блога

Триггеры Google Apps Script

Все триггеры в скриптах делятся по виду события, типу установки и области применения. Области применения Таблицы Формы Документы Сайты Автономные скрипты  События Open - происходит при открытии файла в приложении Гугл. Например, Формы создают это событие только при открытии в режиме редактирвоания. Edit - происходит при завершении ввода данных в ячейку Таблицы пользователем. Только Таблицы. Только пользователем. Install - автоматически вызывается при установке дополнения. Change - возникает при других (не изменение данных ячейки, например, назначение цвета или ширины колонки) изменених Таблицы вызванных пользователем. Только Таблицы. Только пользователем. Form submit - исполнится только тогда, когда придет ответ от респондента Формы. Time-driven - отложенный триггер действия, срабатывающий по истечении времени Get - событие отрабатывающее get-запросы к веб-приложению Post - событие отрабатывающее post-запросы к веб-приложению Типы установок Simple ...

Удаление строк по условию

Часто возникает задача удаления строк из Таблицы Google по какому-либо условию. Разнообразие условий так велико, что порой приходится создавать метод "удаления строк" снова и снова. Довольно утомительно. Для простых офсных скриптов можно применить сниппет, описанный ниже. Основная идея заключается в том, чтобы взять весь массив данных и перебрать его в обратном порядке. При переборе каждая строка передается в функцию обратного вызова, которая принимет решение удалить строку или нет. Для оптимизации количество последовательных строк суммируется, и для удаления применяется метод deleteRows(rowPosition, howMany) класса Sheet В примере ниже скрипт удаляет строки автивного листа, в которых ячейки из диапазона D27:D77 и F27:F77 попарно пустые