2013-04-10 2 views
0

Я написал логику с помощью Google Apps Script, которая проверит идентификатор электронной почты зарегистрированных пользователей с именем, указанным в базе данных. Если письмо присутствует в базе данных, заполните заполненный журнал в идентификаторе электронной почты пользователя в одной из ячеек. Это должно быть сделано без ручного вмешательства и события onOpen электронной таблицы и должно также работать, если кто-то пытается сделать копию той же таблицы.Операторы SQL в триггере onOpen в скрипте приложений не работают

Если метод не содержит SQL-операторов затем, OnOpen() запускается на выполнение в оба

  1. в оригинальном листе
  2. , когда кто-то делает копию,

Если метод содержит инструкции SQL, затем выполняется onOpen() ТОЛЬКО

  1. в оригинальном листе (не будет выполнен, если кто-то или даже я сам сделаю копию ).

Пожалуйста, подтвердите,

  1. , если я правильно понимаю и заявления SQL не работает в OnOpen() триггер, когда кто-то делает копию листа.
  2. Что может быть альтернативой для реализации этой функции, которая получает выполненную в оригинальном листе и в копии (с использованием опции Создать копию)

ответ

0

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

+0

Я бы хотел запустить его для всех пользователей, которые сделают копию моего листа. Я попытался дать ему другое имя и установить его в разделе «Все ресурсы», но заметил, что когда копия сделана из листа, триггер не копируется на новый созданный лист. – user1868355

Смежные вопросы