Как заставить скрипт Google ждать, пока таблица не обновит вычисления? - PullRequest
0 голосов
/ 28 сентября 2019

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

Я попытался установить возвращаемое сообщение для функции загрузки и установить условие для запускаФункция createPDF, и она работает.Но это не помогает.

Я пытался использовать метод Utilities.sleep () с 5000 миллисекундами, что достаточно для перезагрузки электронной таблицы.Но это не помогает.

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

myFunction {
  downloadCalendar();
  // pivot table update wanted
  createPDF();
}

Мне нужно что-то вроде обновления сводной таблицы или метода расчета листа.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...