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

如何通过Google Apps Script从Google Sheets获取重定向链接并实现表单提交后的自动跳转?

如何通过Google Apps Script从Google Sheets获取重定向链接并实现表单提交后的自动跳转?

嘿,我懂你现在的困扰——Google表单默认的静态跳转设置没法动态拉取Sheet里生成的链接对吧?别发愁,咱们用Google Apps Script就能完美解决这个问题,一步步来:

第一步:配置表单提交触发器

首先得确保你的onFormSubmit函数能在用户提交表单A时自动触发。打开表单A对应的Apps Script编辑器(点击表单右上角三个点 → 脚本编辑器),然后点击左侧栏的「触发器」图标,添加新触发器:

  • 选择要运行的函数:onFormSubmit
  • 事件源选「表单」
  • 事件类型选「当表单提交时」
    保存后第一次运行会要求授权,按提示完成权限申请就好。

第二步:编写脚本动态获取链接并设置自动跳转

把你现有的onFormSubmit函数替换成下面的代码,记得把占位信息换成你自己的Sheet和表单ID:

function onFormSubmit() {
  // 替换成你的Google Sheet ID(从Sheet链接中提取)
  const targetSheetId = "你的Sheet ID";
  // 替换成存放链接的工作表名称
  const sheetName = "目标工作表名称";
  
  // 打开指定Sheet,获取最后一行最后一列的链接
  const sheet = SpreadsheetApp.openById(targetSheetId).getSheetByName(sheetName);
  const lastRow = sheet.getLastRow();
  const lastColumn = sheet.getLastColumn();
  const redirectLink = sheet.getRange(lastRow, lastColumn).getValue();
  
  // 打开表单A,修改确认消息为带自动跳转的HTML内容
  const formA = FormApp.openById("你的表单A的ID");
  const autoJumpMessage = `
    <p>提交成功!正在为您跳转至下一个表单...</p>
    <meta http-equiv="refresh" content="0; url=${redirectLink}">
    <p>如果未自动跳转,请点击<a href="${redirectLink}">这里</a>手动跳转</p>
  `;
  formA.setConfirmationMessage(autoJumpMessage);
}

小贴士:Sheet ID和表单ID都能从链接里提取——比如Sheet链接是https://docs.google.com/spreadsheets/d/[Sheet ID]/edit,表单链接是https://docs.google.com/forms/d/[表单ID]/edit,把中间那段字符串复制过来就行。

第三步:测试验证

提交一次表单A试试,你会看到确认页面显示提交成功后,立刻自动跳转到Sheet里的目标链接了。如果没跳转,先检查链接是否正确,再确认脚本是否获取了权限;要是宏生成链接的时机在表单提交之后,你可以把宏的代码整合到onFormSubmit函数里,确保先生成链接再执行跳转逻辑。

备注:内容来源于stack exchange,提问作者Isaac

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.13 16:04:34