Google 表格允许将图表移动到自己的表格中。不过,谷歌脚本似乎无法重命名这些工作表,而不会使电子表格崩溃并强制其重新加载。
要明白我的意思,请尝试以下操作:
1)创建新的电子表格并在其中放入一些数据。
2)使用数据创建任何类型的图表。
3)编辑图表并选择“移至自己的工作表...”
4)使用以下代码创建一个脚本:
function myFunction() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheets = ss.getSheets();
sheets[1].setName('bob');
}
5) 运行脚本,电子表格崩溃并显示消息:“无法加载文件”
6) 重新加载电子表格并注意该工作表确实已重命名。
为什么电子表格崩溃?是否可以重命名工作表而不会崩溃?
不幸的是,我找不到崩溃的明确原因。但我认为有一个解决方法可以避免崩溃。那么这个解决方法怎么样?在此解决方法中,它使用 Sheets API。为了使用 Sheets API,请在高级 Google 服务和 API 控制台中启用 Sheets API。关于如何启用它们,请查看here https://stackoverflow.com/questions/50605735/delete-all-filer-criterias-but-preserve-filter/50614501#50614501.
使用 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);
}
如果这不是您想要的,我很抱歉。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)