如何用脚本实现Google Sheets当前工作表的等效File->Make a copy并打开新副本?
实现Google Sheets制作副本并自动打开的脚本
完全可以通过Google Apps Script实现该功能,以下是完整的实现代码和使用说明:
核心脚本代码
function makeAndOpenCopy() { // 获取当前表格实例与原名称 const originalSheet = SpreadsheetApp.getActiveSpreadsheet(); const originalName = originalSheet.getName(); // 自定义副本命名规则,可按需修改 const copyName = `${originalName} 副本`; // 获取原文件所在文件夹,创建副本并设置名称 const parentFolder = DriveApp.getFileById(originalSheet.getId()).getParents().next(); const copyFile = originalSheet.copyTo(parentFolder).setName(copyName); // 获取副本链接,通过客户端脚本打开新标签页 const copyUrl = copyFile.getUrl(); const htmlOutput = HtmlService.createHtmlOutput(` <script> window.open('${copyUrl}', '_blank'); google.script.host.close(); </script> `); // 触发弹窗执行打开操作 SpreadsheetApp.getUi().showModalDialog(htmlOutput, '正在打开副本...'); } // 自定义菜单,方便日常使用 function onOpen() { const ui = SpreadsheetApp.getUi(); ui.createMenu('快捷工具') .addItem('制作并打开副本', 'makeAndOpenCopy') .addToUi(); }
使用步骤
- 打开目标Google Sheets,点击顶部菜单「扩展程序」>「Apps Script」
- 删除编辑器中的默认代码,粘贴上述脚本
- 点击编辑器顶部的保存按钮,为项目命名(例如「副本生成工具」)
- 首次运行时,点击运行按钮,按照提示完成权限授权(需信任自己编写的脚本)
- 刷新Google Sheets页面,顶部会新增「快捷工具」菜单,点击「制作并打开副本」即可执行操作
注意事项
- 需确保你对原表格拥有编辑权限,且有权限在原文件所在文件夹创建新文件
- 若副本名称与文件夹内现有文件重名,系统会自动添加数字后缀(如「原名称 副本 (1)」)
- 执行时弹出的小窗口会自动关闭,无需手动操作
内容的提问来源于stack exchange,提问作者Jonathan Gilbert
相关产品推荐
相关产品推荐

