Создание временной метки для триггера времени?

#google-apps-script #google-sheets #scripting #timestamp-with-timezone

#google-apps-script #google-таблицы #создание сценариев #временная метка с часовым поясом

Вопрос:

-Необходимо создавать временную метку каждый день в 6 часов, проверяя, был ли обновлен определенный столбец. У меня запущен триггер времени, я получаю электронные письма, которые он пытался запустить, но «функция сценария не найдена: myFunction».

  • Я знаю, что мне нужно создать ‘myFunction’, но должен ли я просто использовать onEdit? Я не уверен, как заставить его работать, поэтому каждый день в 13:00 он проверяет определенный столбец на предмет редактирования, а затем выдает временную метку в другом столбце, если она была отредактирована.

  • Я несколько раз пытался выяснить, как отсортировать активный диапазон, но я не знаю, просто ли триггер запускает «myFunction» в указанное время, и если мне просто нужно написать код, то укажите триггер на него.


 function createTimeDrivenTriggers() { 

ScriptApp.newTrigger('myFunction') 

.timeBased() 

.everyDays(1) 

.atHour(13) 

.create(); 

var timeZone = Session.getScriptTimeZone();

 var timestamp_format = "mm/dd/yyyy";

 var updateColName = "Updated";

 var timeStampColName = "Timestamp";

 var ss = SpreadsheetApp.getActiveSpreadsheet();
  

Ответ №1:

Не используйте onEdit . Это означает «запускайте каждый раз, когда кто-то редактирует этот лист».

Да, сначала вы должны написать myFunction . Запустите его и отладьте вручную, прежде чем присоединять к нему триггер.

Не прикрепляйте триггер с помощью ScriptApp . Нажмите на кнопку запуска в редакторе сценариев, которая приведет вас к script.google.com панель инструментов, где вы можете использовать мастер настройки триггера, чтобы правильно настроить триггер для запуска «myFunction» между 1 и 2 часами дня.

Комментарии:

1. Понял. Есть ли причина не использовать часть скрипта для создания триггера? Мне любопытно, почему у меня было так много проблем.

2. Создание триггера по сценарию хорошо, если вы все проработали и хотите, чтобы скрипт инициализировался сам или устанавливал триггеры на основе условий и т.д. Пока вы все еще разбираетесь во всем этом, проще просто управлять триггерами вручную. Исходя из вашей информации, вам пока не выгодно устанавливать триггер по сценарию.

3. Я просто продолжаю получать неопределенные значения после попытки получить активную электронную таблицу, и я понятия не имею, как вообще прикрепить триггер к этому фрагменту кода. Как мне определить источник, когда он фактически не открыт, и как я могу заставить его использовать активный диапазон?

4. Чтобы получить лучшую справку, вам следует отредактировать свой вопрос выше. Вы должны показать myFunction . Я рекомендую, чтобы он myFunction работал идеально, запускался вручную, прежде чем беспокоиться о подключении триггера. На панели инструментов редактора сценариев появится значок часов, когда вы будете готовы создать триггер. Но сделайте это после того, как у вас есть myFunction .