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

如何使用Google Scripts从Google Sheet指定单元格为复制的新工作表命名

问题原因与修正方案

现有代码的核心问题

  • DriveApp.getFileById() 需传入待复制的源Google Sheet文件ID,你当前填入的文件夹ID属于参数错误
  • 直接给setName()传入字符串'Specific Sheet!B3'不会自动读取单元格内容,需要先调用API获取单元格的实际值
  • SpreadsheetApp.getActive()获取的是当前运行脚本的表格文件,不是你刚复制生成的新文件,无法直接定位到新文件里的工作表

修正后可运行代码

function cloneGoogleSheet() {
  // 替换为你的目标存储文件夹ID
  var destFolder = DriveApp.getFolderById("替换为目标文件夹ID"); 
  // 替换为你要复制的源Google Sheet文件ID
  var sourceFile = DriveApp.getFileById("替换为源Google Sheet文件ID");
  // 读取指定单元格的内容作为新名称,若B3不在当前运行脚本的表内,需把getActive()替换为openById("对应表ID")
  var newFileName = SpreadsheetApp.getActive().getRange("Specific Sheet!B3").getDisplayValue();
  // 复制文件到指定文件夹,直接用读取到的单元格内容命名
  var newCopyFile = sourceFile.makeCopy(newFileName, destFolder);
  // 如果需要同时修改新文件内部的工作表名称,保留下面两行,不需要就删除
  var newSS = SpreadsheetApp.openById(newCopyFile.getId());
  newSS.getSheetByName("要修改的工作表原名").setName(newFileName);
}

使用注意事项

  • 文件夹、文件ID可以直接从浏览器地址栏对应资源的访问链接里提取,替换时直接填入引号内即可
  • 首次运行脚本需要按提示完成权限授权,授权后就能正常触发
  • 如果需要绑定按钮使用,直接在Google Sheet界面插入 drawing 作为按钮,指定绑定该函数即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 05:54:03