首页 > 解决方案 > 使用 App 脚本移动非活动谷歌表格

问题描述

有没有办法将非活动谷歌工作表移动到特定位置或使用谷歌应用脚​​本将其插入特定位置。

是的,我可以将其设为活动表并以我知道的方式移动它,但我想避免这种情况!这是我可以找到的文档:https://developers.google.com/apps-script/reference/spreadsheet/spreadsheet#moveActiveSheet(Integer)

问题是因为脚本以编程方式创建工作表,命名并填写一堆数据,我不想让它成为活动工作表。似乎没有必要使工作表成为活动工作表,以便我可以将其位置移动到我想要的位置。在任何时候我都不会调用ActiveSheet整个脚本并希望保持这种状态。

如果有办法请告诉我!恐怕答案是否定的,因为我找不到办法。

这是我用来创建工作表但无法移动它的代码:

var sheet = SpreadsheetApp.openById('MySheetIDHere')
var tempsheet = sheet.getSheetByName('SheetTemp');
tempsheet.copyTo(sheet).setName('New Sheet Name');

标签: google-apps-scriptgoogle-sheets

解决方案


你可以试试这个insertSheet(sheetName, sheetIndex, options) 方法

var sheet = SpreadsheetApp.openById('MySheetIDHere')
var tempsheet = sheet.getSheetByName('SheetTemp');
var pos = 3;
sheet.insertSheet('New Sheet Name', pos, {template: tempsheet});

pos是“新创建工作表的索引。要将工作表作为电子表格中的第一个插入工作表,请将其设置为 0。

如果您在任何其他工作表处于活动状态的情况下运行此脚本,则脚本会制作副本并将其放置在pos但不会激活任何其他工作表tempsheet或新复制的工作表。

这是你需要的吗?


推荐阅读