Новости:

Название темы должно отражать суть задачи.
Темы типа "ПОМОГИТЕ!!!", "Срочно!" и т.п. будут удаляться без объяснения причин

Главное меню

Срабатывание скрипта при активации чекбокса

Автор Максим Пожарский, 17.02.2025, 18:50:17

« назад - далее »

Максим Пожарский

Всем привет! Возникла проблема, как привязать скрипт к чекбоксу. Всячески перепробовал разные методы, включая триггеры, но всё равно не работает. Хотя сама функция рабочая, если её активировать в ручную. Задача в следующем: необходимо, чтобы по нажатию на чекбокс, напротив, ячейки с адресом эл. почты срабатывал скрипт, который отправляет информацию сотруднику.  Такое ощущение, что в моём скрипте функция onEdit не запускает скрипт. Было предположение, что onEdit не срабатывает из-за того, что в ячейке E2 адреса подтягиваются по формуле. Пробовал вместо onEdit функцию onChange, она вроде как обходит такие ограничения. Всё равно не срабатывает скрипт при активации чекбокса. Пробовал также адреса вручную вносить без формулы, всё равно не срабатывает.

Заранее благодарю за помощь! Таблица: https://docs.google.com/spreadsheets/d/1KN_3K35z_WwtikCEyQnBD4eymc0k2Pi-ORfrAkk2sck/edit?usp=sharing


Дмитрий Щербаков(The_Prist)

Событие onEdit срабатывает как положено, прогнал все только что.
Если и есть проблема - то где-то в функции отправки. Поставил вывод сообщения первой строкой в функции:
function sendEmailsIfChecked() {
SpreadsheetApp.getUi().alert("Функция sendEmailsIfChecked запущена");
и сообщения получил, если чекбокс нажат. Так что копайте дальше саму функцию - где-то она спотыкается.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...

Максим Пожарский

Добрый день, Дмитрий. Честно говоря, понимать бы в какую сторону копать)
Я подумал на функцию onEdit, потому что при ручном запуске всё отправляется, но при нажатии на чексбокс, как было задумано, почему то нет.

Дмитрий Щербаков(The_Prist)

Копайте как я - от самой первой строки события. Ставите вызов alert. Первой строкой. Если сработал - значит событие сработало и ошибка может быть где-то ниже в коде. Так и проверяете.
Если же не сработало сразу - значит проблема в чем-то еще и искать надо среди ограничений триггеров, доступов, версий движка и т.п.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...

Яндекс.Метрика Рейтинг@Mail.ru