Сбой сценария Google sheet = getId () для некоторых скопированных листов - PullRequest
0 голосов
/ 30 мая 2019

Я использую этот скрипт для возврата идентификатора открытой электронной таблицы:

    function getId() {
        SpreadsheetApp.getActiveSpreadsheet().getId()
    }

В ячейку я добавил:

    =getId()

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

Если я введу = getId () в новой ячейке на активном листе, он вернет правильный идентификатор.Таким образом, сценарий, очевидно, работает, он не просто не «обновляет» данные для скопированного листа.

(Как ни странно, это работало раньше! Я не знаю, что изменилось, но он перестал возвращать новое значение идентификатора.)

Может кто-нибудь посоветовать, как обеспечить отображение идентификатора активного листа?

1 Ответ

1 голос
/ 30 мая 2019

Ваш код для function getId() не работал для меня, когда я звонил из ячейки с помощью =getId(), он вообще ничего не возвращал.

Попробуйте вместо этого:

function getId() {
  var id = SpreadsheetApp.getActiveSpreadsheet().getId();
  return id;
}

Это должно вернуть идентификатор таблицы, используя формулу, я протестировал создание копии листа, и он обновляется, как и ожидалось.

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