如何用App Script实现谷歌表格复制、重命名并保存到指定文件夹
解决App Script同时实现复制、重命名并保存到指定位置的需求
你的代码已经具备复制到指定文件夹的基础逻辑,只需调整命名部分,让文件名依赖主表单元格内容,就能一次性实现复制、自定义重命名、保存到指定位置三个功能。
修改后的完整代码
function saveAsSpreadsheet() { // 获取当前活跃的表格 var sheet = SpreadsheetApp.getActiveSpreadsheet(); // 从主表(这里设为'cklist',可根据实际表名修改)获取用于命名的单元格内容 // 示例用A1单元格的值作为文件名,可自行调整单元格位置 var fileName = sheet.getSheetByName('cklist').getRange('A1').getValue(); // 若需要组合多个单元格内容命名,比如A1+B1,可这么写: // var namePart1 = sheet.getSheetByName('cklist').getRange('A1').getValue(); // var namePart2 = sheet.getSheetByName('cklist').getRange('B1').getValue(); // var fileName = namePart1 + "_" + namePart2; // 指定目标文件夹ID var destFolder = DriveApp.getFolderById("xxxxx"); // 替换为你的文件夹ID // 一次完成复制、重命名、保存到指定位置 DriveApp.getFileById(sheet.getId()).makeCopy(fileName, destFolder); }
关键说明
- 自定义文件名:通过
getSheetByName指定主表,getRange读取目标单元格的值赋值给fileName,就能让复制后的文件用单元格内容命名。 - 三合一操作:
makeCopy方法的第一个参数是新文件名,第二个参数是目标文件夹,调用一次即可完成三个动作。 - 代码简化:你之前设置的命名范围
buildingNameAddress如果仅用于获取文件名,直接读取单元格值更简洁,若有其他用途可保留。
内容的提问来源于stack exchange,提问作者Moni
相关产品推荐
相关产品推荐

