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

如何根据Google Form输入值将上传文件保存到对应命名文件夹

功能实现方案

通过Google Form关联的响应表格搭配Google Apps Script即可实现需求,无需借助第三方工具。

具体操作步骤
  • 打开和你的Google Form绑定的响应Google Sheet,点击顶部菜单栏的「扩展程序」->「Apps 脚本」,进入脚本编辑页,删除编辑框内默认的空白代码。
  • 将以下代码粘贴到编辑框中,按照注释修改开头的3个配置项为你自己的实际内容:
// 请修改以下3个配置项
const ROOT_FOLDER_ID = "你的根文件夹ID"; // 打开用于存储所有BL文件夹的父文件夹,浏览器地址栏folder/d/后的字符串即为ID
const BL_FIELD_NAME = "BL number"; // 需和表单内BL number的问题名称完全一致,大小写匹配
const UPLOAD_FIELD_NAME = "文件上传"; // 需和表单内文件上传的问题名称完全一致,大小写匹配

function onFormSubmit(e) {
  // 读取表单提交的字段值
  const response = e.namedValues;
  const blNumber = response[BL_FIELD_NAME][0].trim();
  const uploadedFiles = response[UPLOAD_FIELD_NAME][0].split(", ");

  // 打开指定的根文件夹
  const rootFolder = DriveApp.getFolderById(ROOT_FOLDER_ID);

  // 匹配对应BL号的文件夹,不存在则新建
  let blFolder;
  const matchedFolders = rootFolder.getFoldersByName(blNumber);
  blFolder = matchedFolders.hasNext() ? matchedFolders.next() : rootFolder.createFolder(blNumber);

  // 复制上传文件到对应BL文件夹
  uploadedFiles.forEach(fileUrl => {
    const fileId = fileUrl.split("id=")[1];
    const sourceFile = DriveApp.getFileById(fileId);
    sourceFile.makeCopy(sourceFile.getName(), blFolder);
    // 若不需要保留表单默认上传位置的源文件,可取消下一行注释
    // DriveApp.removeFile(sourceFile);
  })
}
  • 配置提交触发器:点击脚本编辑器左侧的「触发器」(闹钟形状图标),点击右下角「添加触发器」,按以下规则配置:
    • 选择要运行的函数:onFormSubmit
    • 选择部署项:Head
    • 选择事件来源:来自电子表格
    • 选择事件类型:表单提交时
      配置完成后点击保存,按照页面提示完成脚本权限授权即可。
  • 功能测试:填写一次测试表单提交,填写任意BL号并上传测试文件,前往你设置的根文件夹下,确认是否生成了对应BL号的文件夹且文件夹内包含你上传的测试文件。
注意事项
  • 若出现重复BL号的提交,后续上传的同BL号文件会直接存入已有的对应文件夹,不会重复新建文件夹
  • 首次授权脚本时如果弹出「Google未验证应用」提示,点击「高级」->「继续访问」即可,脚本为你自行编写,无安全风险
  • 若脚本运行报错,优先检查配置的字段名是否和表单内的问题名称完全一致,以及根文件夹ID是否填写正确、你对该文件夹是否有编辑权限

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 05:12:01