You need to enable JavaScript to run this app. 如何在Google Form中添加Google Sheet链接 自动生成共享给原所有者的副本
优惠活动
大模型
产品
解决方案
定价
更多

如何在Google Form中添加Google Sheet链接 自动生成共享给原所有者的副本

Google Form 关联预算表自动化解决方案

方案1:修复强制复制链接权限问题

你之前遇到强制复制链接需要申请权限的问题,大概率是共享配置或链接修改有误,按以下步骤调整即可解决:

  • 打开预算模板Google Sheet,点击右上角「共享」,在「通用访问」选项中选择知道链接的任何人可查看,确认保存后等待2-3分钟让配置生效
  • 复制模板的默认共享链接,格式为 https://docs.google.com/spreadsheets/d/[文档ID]/edit?usp=sharing
  • 将链接末尾的 edit?usp=sharing 替换为 copy?usp=sharing&copyCollaborators=false&copyComments=false,修改后的链接就是可用的强制复制链接,用户点击后可直接生成个人副本,无需申请权限

该方案的局限性是用户生成副本后需要手动共享给机构账号,不符合全自动化需求,推荐使用方案2。

方案2:Google Apps Script 全自动化流程

该方案完全不需要申请人额外操作,所有权限配置、文档生成都自动完成:

前置准备

  • 在Google Form中添加必填的「申请人电子邮箱」字段
  • 给Google Form绑定对应的响应Google Sheet,用于存储提交数据和生成的预算表链接

步骤1:添加脚本

  1. 打开Google Form,点击右上角三个点,选择「脚本编辑器」
  2. 删除默认空白代码,粘贴以下代码,按注释替换对应的参数:
// 替换为你的预算模板Google Sheet的文档ID
const TEMPLATE_ID = "替换为你的模板文档ID";
// 替换为机构官方谷歌账号邮箱
const ORG_EMAIL = "your-org@example.com";
// 替换为表单响应表的文档ID
const RESPONSE_SHEET_ID = "替换为你的响应表ID";
// 替换为你要存预算链接的列号(比如第5列就填5)
const LINK_COLUMN = 5;

function onFormSubmit(e) {
  // 获取申请人提交的邮箱
  const applicantEmail = e.response.getRespondentEmail();
  // 获取申请人姓名(如果没有姓名字段可以删除这行)
  const applicantName = e.response.getItemResponses().find(i => i.getItem().getTitle() == "申请人姓名").getResponse();
  // 复制生成新的预算表
  const templateFile = DriveApp.getFileById(TEMPLATE_ID);
  const newBudgetSheet = templateFile.makeCopy(`资助预算-${applicantName || applicantEmail}`);
  // 配置权限:申请人可编辑,机构账号可编辑
  newBudgetSheet.addEditor(applicantEmail);
  newBudgetSheet.addEditor(ORG_EMAIL);
  const sheetUrl = newBudgetSheet.getUrl();
  // 给申请人发邮件告知预算表链接
  MailApp.sendEmail({
    to: applicantEmail,
    subject: "资助申请预算表已生成",
    body: `您好,您的专属预算表链接为:${sheetUrl},填写完成后无需额外操作,我们会自动同步您的填写内容。`
  });
  // 把预算表链接写入响应表,方便你后续关联查看申请
  const resSheet = SpreadsheetApp.openById(RESPONSE_SHEET_ID).getSheetByName("表单响应");
  const lastRow = resSheet.getLastRow();
  resSheet.getRange(lastRow, LINK_COLUMN).setValue(sheetUrl);
}

步骤2:配置触发器

  1. 点击脚本编辑器左侧的「触发器」按钮,选择「添加触发器」
  2. 事件源选择「表单」,事件类型选择「表单提交时」,保存后按页面提示完成脚本权限授权即可

测试

用非机构账号提交一次表单,确认申请人能正常收到邮件、可直接编辑预算表,机构账号可直接访问该预算表,无需申请权限。

注意事项

  • 所有相关文档(模板、表单、响应表)都要存储在机构官方账号的Google Drive中,不要使用个人账号创建
  • 如果申请人没有谷歌邮箱,可以在代码中新增一行 newBudgetSheet.setSharing(DriveApp.Access.ANYONE_WITH_LINK, DriveApp.Permission.EDIT),实现持链接即可编辑,无需登录
  • 你也可以调整代码逻辑,把预算表链接直接展示在表单提交后的确认页,无需给申请人发邮件

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.17 10:06:03