You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Google Apps Script复制工作表报错:duplicateActiveSheet不是函数

解决Google Apps Script复制并重命名工作表的问题

错误原因分析

你遇到的TypeError是因为代码里的SpreadsheetApp.getActiveSpreadsheet.duplicateActiveSheet()少了括号——getActiveSpreadsheet是方法,必须加()才能获取到Spreadsheet对象,之后才能调用duplicateActiveSheet()。

另外原代码还有两处可优化的点:

  • 无需先激活原工作表再复制,直接操作指定工作表更高效
  • renameActiveSheet()属于旧版方法,推荐用Sheet.setName()直接给副本命名,逻辑更清晰

修正后的代码

function CreateNewPulseSheet() {
  // 获取当前表格对象
  const ss = SpreadsheetApp.getActiveSpreadsheet();
  // 获取原工作表"ORIGINAL"
  const originalSheet = ss.getSheetByName("ORIGINAL");
  // 获取原工作表G1单元格的显示值作为新表名称
  const newSheetName = originalSheet.getRange("G1").getDisplayValue();
  
  // 复制原工作表,并设置新名称
  originalSheet.copyTo(ss).setName(newSheetName);
}

代码说明

  • originalSheet.copyTo(ss):直接复制指定的原工作表到当前表格,返回的就是副本工作表对象,无需激活操作
  • .setName(newSheetName):直接给副本设置名称,一步完成,避免依赖激活状态的不确定性

内容的提问来源于stack exchange,提问作者Dilshan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 06:30:51