переименование листов с полными таблицами приводит к перезагрузке электронной таблицы - PullRequest
0 голосов
/ 31 мая 2018

Листы Google позволяют перемещать диаграммы на свой собственный лист.Скрипты Google, похоже, не могут переименовать эти листы, не разбивая электронную таблицу и не заставляя ее перезагружаться.

Чтобы понять, что я имею в виду, попробуйте следующее: 1) создайте новую электронную таблицу и поместите в нее некоторые данные.2) создать любой тип диаграммы с данными.3) отредактируйте диаграмму и выберите «Переместить на свой лист ...» 4) создайте сценарий со следующим кодом:

  function myFunction() {
    var ss = SpreadsheetApp.getActiveSpreadsheet();
    var sheets = ss.getSheets();
    sheets[1].setName('bob');
  }

5) запустите сценарий, и электронная таблица вылетит с сообщением: «Невозможно загрузить файл "6) перезагрузите электронную таблицу и обратите внимание, что лист действительно был переименован.

Почему происходит сбой электронной таблицы?Можно ли переименовать лист без сбоев?

1 Ответ

0 голосов
/ 01 июня 2018

К сожалению, я не смог найти четкую причину аварии.Но я думаю, что есть обходной путь для избежания аварии.Так как насчет этого обходного пути?В этом обходном пути он использует API Sheets.Чтобы использовать Sheets API, включите Sheets API на консоли Advanced Services и API.О том, как включить их, пожалуйста, проверьте здесь .

Пример сценария с использованием API Sheets выглядит следующим образом.

Пример сценария:

function myFunction() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var id = ss.getId();
  var sheetId = ss.getSheets()[1].getSheetId();
  var resource = {"requests":[{"updateSheetProperties":{"properties":{"sheetId":sheetId,"title":"bob"},"fields":"title"}}]};
  Sheets.Spreadsheets.batchUpdate(resource, id);
}

Если это было не то, что вы хотите, извините.

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