如何为多个Google表单批量添加及编辑带验证的短答案访问码
两个需求都可以通过Google Apps Script实现,具体实现方案如下:
1 批量添加访问码验证问题
实现逻辑:遍历指定Google Drive文件夹内的所有Google表单,统一在表单第一部分添加必填的访问码短答问题,并配置正则验证规则。
操作步骤:
- 打开Google Apps Script控制台,新建空白项目
- 将以下代码替换到编辑区,修改代码中的
文件夹ID、自定义访问码为你实际的内容
function batchAddAccessCodeQuestion() { // 替换为你的Google Drive文件夹ID const FOLDER_ID = "替换为你的文件夹ID"; // 自定义正确访问码 const CORRECT_CODE = "你要设置的访问码"; // 获取目标文件夹 const targetFolder = DriveApp.getFolderById(FOLDER_ID); // 遍历文件夹内所有Google表单文件 const formFiles = targetFolder.getFilesByType(MimeType.GOOGLE_FORMS); while (formFiles.hasNext()) { const formFile = formFiles.next(); const form = FormApp.openById(formFile.getId()); // 在表单最开头添加短答案问题 const accessCodeQuestion = form.addShortTextItem() .setTitle("输入访问码") .setRequired(true); // 配置正则响应验证,必须完全匹配访问码 const validation = FormApp.createTextValidation() .setHelpText("访问码错误,无法继续作答") .requireTextMatchesPattern(CORRECT_CODE) .build(); accessCodeQuestion.setValidation(validation); // 把问题移动到第一部分的第一个位置 form.moveItem(accessCodeQuestion.getIndex(), 0); } }
- 保存项目,运行
batchAddAccessCodeQuestion函数,完成授权后即可批量添加问题。
2 批量更新访问码规则
后续需要更新访问码时,使用以下脚本批量修改所有表单的正则匹配规则即可:
function batchUpdateAccessCode() { // 替换为你的Google Drive文件夹ID const FOLDER_ID = "替换为你的文件夹ID"; // 替换为新的访问码 const NEW_CODE = "更新后的访问码"; const targetFolder = DriveApp.getFolderById(FOLDER_ID); const formFiles = targetFolder.getFilesByType(MimeType.GOOGLE_FORMS); while (formFiles.hasNext()) { const formFile = formFiles.next(); const form = FormApp.openById(formFile.getId()); // 遍历所有问题找到标题为「输入访问码」的问题 const items = form.getItems(FormApp.ItemType.SHORT_TEXT); for (let i = 0; i < items.length; i++) { const item = items[i].asShortTextItem(); if (item.getTitle() === "输入访问码") { // 更新正则验证规则 const newValidation = FormApp.createTextValidation() .setHelpText("访问码错误,无法继续作答") .requireTextMatchesPattern(NEW_CODE) .build(); item.setValidation(newValidation); break; } } } }
注意事项
- 第一次运行脚本需要按照系统提示完成权限授权,选择允许脚本访问你的Drive和表单数据即可
- 建议正式操作前先创建测试文件夹,放1-2个空白表单验证功能符合预期后,再批量操作正式表单
- 不要修改访问码问题的标题,否则批量更新脚本会无法匹配到对应问题
内容的提问来源于stack exchange,提问作者Spade
相关产品推荐
相关产品推荐

