使用新的Google表格,可以将来自多个表单的回复发送到同一个电子表格。这很方便。
但是,当使用On Form Submit触发器时,似乎无法区分表单。这造成了一个重大问题。
例如,我有一个表单,用户提交注册邮件列表。我有一个用户用来提交报告的第二个表单。我有一个脚本,它接收报告并根据他们的喜好将它们发送给邮件列表收件人。我需要关联邮件列表和报告中的变量,以便根据偏好发送报告。我设置了脚本,以便每当提交报告时,它都会自动发送。但是,当提交注册表单时,它会触发脚本并发送电子邮件(使用注册表单中的信息)。
有没有办法告诉Google只在提交特定表单时触发脚本,而不是在提交链接到电子表格的任何表单时? p>
谢谢!
答案 0 :(得分:3)
我找到了一种通过onFormSubmit()
区分表格的迂回方式。考虑到表格与电子表格之间存在多对一关系这一事实,表格和表格之间存在一对一的关系。此外,所有表单在其唯一表单中为响应值附加一行。该行数据(作为Range
)作为e
中的值传递为e.range
。要获取所使用表单的URL,可以使用e.range.getSheet().getFormUrl()
。如果只需要区分表单,可以使用 e.range.getSheet()
。
通过这种方式,可以将onFormSubmit()
函数中的开关添加为特定(对于每个表单)函数的控制流。
我有同样的担忧。我希望这仍然是相关的,为了后人的缘故。
TL; DR : e.range.getSheet()