Код работает через редактор, но не при открытии таблицы - PullRequest
0 голосов
/ 14 июня 2019

Я хочу открыть определенный лист в одной электронной таблице в зависимости от значения в другой электронной таблице. И он работает очень хорошо при запуске непосредственно из редактора сценариев, но не работает при открытии электронной таблицы. Есть идеи?

function onOpen() {
  var app = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = SpreadsheetApp.openById("the_key").getSheetByName("Arkusz2").getRange("A5").getValue();
  app.setActiveSheet(app.getSheetByName(sheet));  
}

Нет ошибки. Просто ничего не происходит.

Ответы [ 2 ]

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

Спасибо, Альберто - все работает.Но почему мне не нужен этот устанавливаемый триггер в другой таблице.Как в коде ниже.Это работает так, как есть.

 function onOpen() {
      var app = SpreadsheetApp.getActiveSpreadsheet();
      var arkusz = app.getSheetByName("Arkusz2").getRange("A2").getValue();
      app.setActiveSheet(app.getSheetByName(arkusz));
    }
0 голосов
/ 14 июня 2019

Поскольку вы пытаетесь получить код каждый раз, когда открывается первая электронная таблица;что вам нужно сделать, это создать "открываемый" устанавливаемый триггер.Вы можете сделать это следующим образом:

  • Перейдите в редактор кода, нажав на кнопку часов, которая находится между "сохранить" и "запустить".
  • Это приведет вас кна сайте триггера, в правом нижнем углу будет кнопка «Добавить новый триггер».
  • Нажмите на нее, и вы сможете выбрать триггеры, которые лучше всего вам подходят.
  • Для того, который вы хотите,в «источнике событий» выберите «Из электронной таблицы»
  • В поле «Тип события» выберите «При открытии».
  • Сохраните триггер, и он будет установлен.

Trigger Button


Settings for your desired trigger

Кроме того, здесь приведена некоторая документация по триггерам на случай, если у вас возникнут дополнительные вопросы.URL: https://developers.google.com/apps-script/guides/triggers/installable

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