TypeError: Невозможно вызвать метод "getActiveSheet" со значением NULL. в myFunction (код: 6) - PullRequest
0 голосов
/ 24 июня 2019

В Журнале я вижу, что приложение было определено как SpreadsheetApp, но getActiveSpreadsheet () возвращает ноль. что в свою очередь заставляет getActiveSheet () сказать, что он не может вызвать метод с нулевым значением.

Я уже пытался очистить историю браузера, открыть новую пустую электронную таблицу, но получил ту же ошибку.

function myFunction() {
  var app = SpreadsheetApp; 
    Logger.log(app);
  var ss = app.getActiveSpreadsheet(); 
    Logger.log(ss);
  var activeSheet = ss.getActiveSheet();

TypeError: Невозможно вызвать метод "getActiveSheet" со значением NULL. в myFunction (код: 6)

1 Ответ

0 голосов
/ 25 июня 2019

Проблема:

Вы пытаетесь запустить автономные сценарии, как если бы они были привязаны к электронной таблице.(используя getActive...)

Из документации по таблицам классов:

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


Параметры:

  1. Свяжите свой скрипт с электронной таблицей, открыв лист и перейдя к Tools > Script Editor, а затем запустив его оттуда.
  2. Вместо использования getActiveSpreadsheet() используйте SpreadsheetApp.openById('id') или SpreadsheetApp.openByUrl('url').Они откроют электронную таблицу по ее уникальному идентификатору или URL-адресу и могут использоваться из автономных сценариев.

Ссылки:

  1. Класс SpreadsheetApp
  2. getActiveSpreadsheet
  3. openById()
  4. openByUrl()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...