sheet.getLastRow () не работает при запуске по триггеру - PullRequest
1 голос
/ 10 июля 2020

Краткое описание проблемы:

При запуске автоматического c сценария с синхронизацией по времени триггера сценарий завершился неудачно Со следующим описанием ошибки

Исключение: начальная строка диапазона слишком мало. at fetchData (wkapi2: 4: 20)

(что означает, что лист пуст), и это не тот случай, когда лист имеет 300 строк. Он работал хорошо до 2 дней go .... Я не менял ни скрипта, ни каких-либо настроек

Когда я запускаю скрипт вручную, все работает нормально ...

Строка кода выглядит следующим образом:

function fetchData() {
  var options = {'Cache-Control' : 'max-age=0, must-revalidate'}; //I've used this before to try and prevent google from giving me cached data when making API calls..seems to get the job done
  var sheet = SpreadsheetApp.getActiveSheet(); //This script is bound to the corresponding sheet so we can use this conveinience method
  var cell = sheet.getRange(sheet.getLastRow(),1); //Get a reference to current last cell in Column A

Сбой сценариев при функции sheet.getRange (... ) при автоматическом запуске

Когда я запускаю вручную, он работает

1 Ответ

1 голос
/ 10 июля 2020

При запуске без «активной» электронной таблицы (т. Е. Электронной таблицы, которая отображается в браузере), «активный» лист будет относиться к первому листу. Используйте Spreadsheet.getSheetByName() вместо getActiveSheet().

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