Google Sheets使用Apps Script复制工作表到其他表格时报错如何解决?
Google Apps Script 工作表跨表复制报错解决方案
报错原因
- 你所使用的
destination.insertSheet方法的template参数,要求传入的模板工作表必须归属于调用该方法的目标电子表格(即destination对应的表格),你传入的模板工作表属于源电子表格,不符合调用要求,因此触发该报错。 - 额外排查点:若代码中的
Bestwise_id是直接填写的表格ID字符串,未预先定义为变量,需要用英文引号包裹,否则会先触发变量未定义的报错。
修正后代码
function copy_to_A() { // 请把此处引号内的内容替换为你实际的目标电子表格ID const Bestwise_id = "你的目标电子表格ID"; const source = SpreadsheetApp.getActiveSpreadsheet(); const destination = SpreadsheetApp.openById(Bestwise_id); const tempsheet = source.getSheetByName('Bestwise-tocopy'); // 跨表复制源工作表到目标电子表格 const newSheet = tempsheet.copyTo(destination); // 修改新工作表名称、调整位置到第一个(索引从0开始计数) newSheet.setName('New Sheet Name').setIndex(0); }
代码说明
- 改用
Sheet类的copyTo方法实现跨电子表格复制工作表,不受模板表归属限制 - 复制完成后可通过
setName方法修改新表名称,setIndex方法调整工作表的排序位置
内容的提问来源于stack exchange,提问作者WL Tam
相关产品推荐
相关产品推荐

