使用copyTo跨电子表格复制工作表时如何指定索引并重命名
copyTo 方法原生没有提供直接设置新表名称、位置的参数,你需要额外追加两行代码即可实现需求,实现逻辑非常简单:
可用示例代码
var destination = SpreadsheetApp.openById('ID_GOES HERE'); // 复制完成后直接获取新生成的工作表对象 var newSheet = sheet.copyTo(destination); // 依次执行重命名、移动到第一个标签位操作 newSheet.setName('你需要的工作表名称'); newSheet.setIndex(0); // 也可以直接链式调用:newSheet.setName('xxx').setIndex(0)
说明
copyTo执行后会直接返回刚复制到目标表格的工作表实例,不需要你额外遍历查找新表setIndex的参数从0开始计数,传入0就会将工作表移动到最左侧的第一个标签位- 如果目标表格内已经存在和你设置的名称完全相同的工作表,
setName会报错,有对应场景需求的话可以提前增加重名校验逻辑做兼容。
内容的提问来源于stack exchange,提问作者Kenton Sparks
相关产品推荐
相关产品推荐

