首页 > 解决方案 > 重命名带有“完整工作表”图表的工作表会导致电子表格重新加载

问题描述

谷歌表格允许将图表移动到自己的表格中。谷歌脚本似乎无法重命名这些工作表,但不会导致电子表格崩溃并强制重新加载。

要了解我的意思,试试这个:1)创建新的电子表格并在其中放入一些数据。2)使用数据创建任何类型的图表。3)编辑图表并选择“移动到自己的工作表...” 4)使用以下代码创建一个脚本:

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

5) 运行脚本,电子表格崩溃并显示以下消息:“无法加载文件” 6) 重新加载电子表格并注意工作表确实已重命名。

为什么电子表格会崩溃?是否可以在不崩溃的情况下重命名工作表?

标签: google-apps-scriptgoogle-sheets

解决方案


不幸的是,我找不到坠机的明确原因。但我认为有一种解决方法可以避免崩溃。那么这个解决方法怎么样?在此解决方法中,它使用 Sheets API。要使用 Sheets API,请在 Advanced Google Services 和 API 控制台中启用 Sheets API。关于如何启用它们,请在此处查看

使用 Sheets API 的示例脚本如下。

示例脚本:

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);
}

如果这不是你想要的,我很抱歉。


推荐阅读