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

如何用Google Apps Script自动添加Google Form提交者信息为独立板块?

实现Google Form自动展示请愿签名的方法

准备工作

  • 打开你的Google Form,在现有问题末尾添加两个组件:
    • 一个「标题」(比如命名为「已签名人员」)
    • 紧接着添加一个「段落文本」类型的问题,勾选「仅限查看」,给这个问题起个明确标题(比如「签名列表」)

配置脚本

  1. 打开表单关联的表格:在Form界面点击「回应」→「查看表格」,打开对应的Google Sheets。
  2. 进入脚本编辑器:在表格顶部菜单栏选择「扩展程序」→「Apps Script」。
  3. 替换默认代码:删除编辑器里的所有内容,粘贴下面的代码:
// 请替换为你的表单ID和目标问题标题
const FORM_ID = "你的Google Form ID";
const TARGET_QUESTION_TITLE = "签名列表";

function onFormSubmit(e) {
  // 获取表单实例
  const form = FormApp.openById(FORM_ID);
  let targetItem;

  // 定位到目标段落文本问题
  const items = form.getItems();
  for (const item of items) {
    if (item.getTitle() === TARGET_QUESTION_TITLE && item.getType() === FormApp.ItemType.PARAGRAPH_TEXT) {
      targetItem = item.asParagraphTextItem();
      break;
    }
  }

  if (!targetItem) {
    console.log("未找到指定的目标问题,请检查标题是否正确");
    return;
  }

  // 获取表格中的所有提交数据(跳过表头行)
  const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  const allData = sheet.getDataRange().getValues().slice(1);

  // 整理签名列表:过滤空数据,格式化为「姓名, 部门」
  const signatureList = allData
    .filter(row => row[0] && row[2]) // 索引对应表格列:0是姓名列,2是部门列,根据实际列顺序调整
    .map(row => `${row[0]}, ${row[2]}`)
    .join("\n");

  // 更新目标问题的展示内容
  targetItem.setDefaultValue(signatureList);
}

关键配置说明

  • 替换FORM_ID:打开Google Form,地址栏中d/与/edit之间的字符串就是表单ID,比如https://docs.google.com/forms/d/abc123xyz/edit里的abc123xyz。
  • 调整列索引:代码里row[0]对应表格第1列(姓名),row[2]对应第3列(部门),如果你的表格列顺序不同,要对应修改索引(索引从0开始)。

设置触发条件

  1. 在脚本编辑器左侧点击「触发器」图标(闹钟形状)。
  2. 点击「添加触发器」:
    • 选择要运行的函数:onFormSubmit
    • 选择部署来源:「从 spreadsheet」
    • 选择事件类型:「表单提交」
  3. 点击「保存」,按提示完成授权(授权时若提示不安全,选择「高级」→「前往XX项目」即可,这是自定义脚本的正常授权流程)。

完成后,每当有新用户提交表单,脚本会自动更新表单里的签名列表区域,将所有已提交的姓名和部门按「姓名, 部门」格式展示出来。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 20:52:05