В вашем скрипте нет ничего плохого, но есть проблема.Если вы откроете свой протокол выполнения , вы увидите, что триггер onOpen(e)
не работает из-за «У вас нет разрешения на вызов showModalDialog» .Кроме того, обратите внимание на дополнительные ограничения , которые необходимо учитывать.
Ваш триггер запускается с authMode=LIMITED
(вы увидите, что если вы log()
объект события триггера).В соответствии с таблицей ограничений, Доступ к пользовательскому интерфейсу ограничен Добавление пунктов меню , что приводит к ошибке (таблица находится в дополнениях редактора Руководство по жизненному циклу аутентификации ,но с точки зрения ограничений authMode=LIMITED
я считаю, что это единственное упоминание о том, что простые триггеры ограничены добавлением пунктов меню).
Это также означает, что если вы хотите показывать пользователям диалог каждый раз, когда они открывают вашу электронную таблицувам не повезло с точки зрения простых триггеров (см. комментарий TheWizEd, предлагающий использовать устанавливаемые триггеры для решения), так как триггеры запускаются, не запускаются authMode=LIMITED
, когда пользователь нажимает на элемент меню (и поэтому вымогут отображать диалоговое окно после щелчка).
UPD: ответ был обновлен после обсуждения с TheMaster, чтобы избежать путаницы.