google-apps-script - 如何将表单响应目标设置为电子表格中的特定工作表?

标签 google-apps-script google-sheets google-forms

所以我发送了大量表格,其中每个表格都是专门为该特定响应者指定的(表格中问题的上下文会根据提交给它的用户而变化),这部分很好。但我想将他们的回复记录到一个主电子表格中,其中每个用户都由该电子表格中的一张表表示。 我想做类似的事情

//activeRef is a Row object on another spreadsheet
//responseSS is an already existing spreadsheet
For each member - of which there are N - {
    responseSS.insertSheet(activeRef.refereeID);
    activeResponseSheet = responseSS.getSheets()[N];
    conflForm = FormApp.create('Conflict Declerations')
    conflForm.setDescription(DESCRIPTION)
             .setAllowResponseEdits(true)
             .setShowLinkToRespondAgain(false)
             .setDestination(FormApp.setDestinationType.SHEET, responseSS.getSheets()[N]);
}

不幸的是,您不能将目标设置为这样的特定工作表,根据我的理解,它必须是电子表格。我可以为每个表单回复创建一个特定的电子表格,但会有几十到数百个这样的电子表格 - 将每个回复记录到主电子表格的一张表中会更易于管理。

有解决办法吗?

谢谢

最佳答案

无法将特定工作表设置为接收表单响应,因为电子表格-表单链接过程会创建一个新工作表。

有两种选择

  1. 使用公式(即 ={'Form Responses 1'!A2:G;'Form Responses 2'!A2:G;'Form Responses 3'!A2:G})<
  2. 对接收表单响应的电子表格使用表单提交可安装触发器。事件对象包含几个可能有用的属性,例如 rangevalues 等。
  3. 为每个表单使用一个表单提交可安装触发器。事件对象包含几个可能有用的属性,即 response

关于google-apps-script - 如何将表单响应目标设置为电子表格中的特定工作表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21787620/

相关文章:

javascript - 在检查谷歌表单的输入元素时,我找不到 "name"属性。如何找到它?

validation - Google 表单中的独特字段验证

google-apps-script - HTML 服务速度慢

google-sheets - Google Sheets 自动递增 B 列,每个新类别中的空单元格从 1 重新开始 A 列中的字符串,而不是连续递增

javascript - Google 表格仅查看对运行应用脚本的用户的保护

javascript - 使用 ECMAScript6 在 Google 表单中收集回复并进行统计

google-apps-script - 日期类的方法?

mysql - Google Apps 脚本 - 仅从电子表格写入新行

google-apps-script - 一次在 Gmail 线程中搜索多个未读标签的脚本

google-forms - 自动填写或自动化 Google 表单