Как программно создать триггер для открытого события в Google Apps Script - PullRequest
0 голосов
/ 13 марта 2020

Я играю со скриптом Google Apps и сталкиваюсь со странной ошибкой при попытке программно создать триггер (не привязанный к конкретному файлу c или чему-либо еще).

Я пытаюсь запустить определенный код - в основном для редактирования документа в Google Docs всякий раз, когда он открывается, но у меня возникает эта ошибка:

Неожиданная ошибка при получении метода или свойства при создании объекта ScriptApp.DocumentTriggerBuilder. (строка 9, файл "Код") DetailsDismiss

Вот код, который я использую:

 /**
 * Creates a trigger for when a spreadsheet opens.
 */
function createSpreadsheetOpenTrigger() {
  var d = DocumentApp.getActiveDocument();
  ScriptApp.newTrigger('myFunction')
        .forDocument(d)
        .onOpen()
        .create();
}


function myFunction() {
     // change the body or something...
}

Ответы [ 2 ]

1 голос
/ 13 марта 2020

getActiveDocument не будет работать, если скрипт не привязан к документу. Вы хотите openById.

0 голосов
/ 13 марта 2020

Почему вы пытаетесь создать триггер при открытии? onOpen сам по себе триггер.

Попробуйте это

function onOpen(e)
{
    myFunction();
}
...