如何批量修改Google Sheets中多份角色表的指定单元格文本
批量修改Google Sheets指定单元格的高效方案
针对你要批量修改500+同格式LARP角色表的需求,Google Apps Script是最适配的工具,完全无需手动逐个操作,步骤如下:
准备工作
- 将所有需要修改的Google Sheets文件移到同一个Google Drive文件夹中,方便脚本统一遍历处理。
编写并运行脚本
- 新建一个空白Google Sheets文件(作为操作控制台)。
- 点击顶部菜单栏的「工具」→「脚本编辑器」,打开Google Apps Script编辑界面。
- 替换默认代码为以下脚本:
function batchUpdateSheets() { // 替换为你的目标文件夹ID(从Drive文件夹地址栏获取) const folderId = "你的文件夹ID"; const folder = DriveApp.getFolderById(folderId); const files = folder.getFilesByType(MimeType.GOOGLE_SHEETS); // 定义需要修改的单元格与对应文本的映射 const cellUpdates = { "T13": "Grapple/Resist Grasp", "C21": "Telepathy* or Break Focus", "L20": "Dispel Magic/M. Sense", "C32": "Identify or I Have an Idea", "C33": "Fix It or Break It^", "C34": "Weapon Power", "AA20": "Arcanist" }; // 遍历所有Sheets文件并执行修改 while (files.hasNext()) { const file = files.next(); // 默认修改第一个工作表,如需指定表名可替换为getSheetByName("目标表名") const sheet = SpreadsheetApp.openById(file.getId()).getActiveSheet(); // 逐个更新指定单元格 for (const [cell, text] of Object.entries(cellUpdates)) { sheet.getRange(cell).setValue(text); } console.log(`已完成修改:${file.getName()}`); } SpreadsheetApp.getUi().alert("所有文件修改完成!"); }
- 修改脚本中的
folderId:打开存放角色表的Drive文件夹,地址栏中https://drive.google.com/drive/folders/后的一串字符就是文件夹ID,将其替换到脚本对应位置。 - 点击脚本编辑器顶部的「保存」按钮,给脚本命名(比如
BatchLARPUpdate)。 - 点击「运行」按钮,首次运行会触发权限授权:按提示点击「允许」,选择你的Google账号完成授权(这是你自己编写的脚本,完全安全)。
注意事项
- 先挑选1-2个测试文件放到单独文件夹运行脚本,确认修改效果无误后再处理全部文件。
- 脚本运行时长随文件数量增加而延长,期间不要关闭脚本编辑器或浏览器标签,等待弹窗提示「所有文件修改完成」即可。
- 若遇到运行超时提示,可将文件夹内的文件拆分到多个子文件夹,分批次运行脚本处理。
内容的提问来源于stack exchange,提问作者Daniel Nimitz
相关产品推荐
相关产品推荐

