Задачи getRange, скрипт Google Apps Sheets - PullRequest
1 голос
/ 07 января 2020

Я пытался запустить этот код в скриптах Google, но столкнулся со следующей ошибкой -TypeError: Невозможно вызвать метод getRange для null (файл 'code', строка 5)

Код приведен ниже , Любая помощь действительно ценится.

Спасибо!

function myFunction() {
 var d = new Date();
 var hours = d.getHours();
 var currentTime = d.toLocaleDateString();
 var counter = SpreadsheetApp.getActiveSheet().getRange('B1').getValues();

 if (hours >= 6 && hours <= 18) {
 var response = UrlFetchApp.fetch("url");
 SpreadsheetApp.getActiveSheet().getRange('S' + counter).setValue('Visted at ' + currentTime + ' ' + hours + 'h');
 SpreadsheetApp.getActiveSheet().getRange('B1').setValue(Number(counter) + 1);
 }
}

1 Ответ

0 голосов
/ 07 января 2020

Используемый вами скрипт не привязан к электронной таблице. В этом случае функция getActiveSheet() будет вести себя так же, как и getActiveSpreadsheet():

Возвращает текущую активную электронную таблицу, или ноль, если ее нет .

Эффективно возвращает null.

Решение

Чтобы иметь возможность взаимодействовать с вашей электронной таблицей, вы можете:

  1. Создать новый скрипт, связанный с таблицей, с которой вы пытаетесь работать. Для этого из интерфейса пользователя Sheets (с открытой электронной таблицей) go в Tools> Script editor. Там вы сможете использовать функции, описанные выше.

  2. Используйте любую из open() функций, определенных в SpreadsheetApp из автономный скрипт для взаимодействия с вашей электронной таблицей.

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