在表格提交时使用"区分表格"

时间:2014-05-07 15:26:17

标签: google-apps-script eventtrigger google-form

使用新的Google表格,可以将来自多个表单的回复发送到同一个电子表格。这很方便。

但是,当使用On Form Submit触发器时,似乎无法区分表单。这造成了一个重大问题。

例如,我有一个表单,用户提交注册邮件列表。我有一个用户用来提交报告的第二个表单。我有一个脚本,它接收报告并根据他们的喜好将它们发送给邮件列表收件人。我需要关联邮件列表和报告中的变量,以便根据偏好发送报告。我设置了脚本,以便每当提交报告时,它都会自动发送。但是,当提交注册表单时,它会触发脚本并发送电子邮件(使用注册表单中的信息)。

有没有办法告诉Google只在提交特定表单时触发脚本,而不是在提交链接到电子表格的任何表单时?

谢谢!

1 个答案:

答案 0 :(得分:3)

我找到了一种通过onFormSubmit()区分表格的迂回方式。考虑到表格与电子表格之间存在多对一关系这一事实,表格和表格之间存在一对一的关系。此外,所有表单在其唯一表单中为响应值附加一行。该行数据(作为Range)作为e中的值传递为e.range。要获取所使用表单的URL,可以使用e.range.getSheet().getFormUrl()。如果只需要区分表单,可以使用 e.range.getSheet()

通过这种方式,可以将onFormSubmit()函数中的开关添加为特定(对于每个表单)函数的控制流。

我有同样的担忧。我希望这仍然是相关的,为了后人的缘故。

TL; DR e.range.getSheet()