【问题标题】:Google form responses + additional data trigger an emailGoogle 表单回复 + 其他数据触发电子邮件
【发布时间】:2021-03-05 15:13:44
【问题描述】:

最终目标:向最后一行数据的电子邮件列表发送一封自动电子邮件。

我的电子表格中有 Google 表单回复。我可以轻松地将有关信息的电子邮件添加到我的团队,但是我想根据表单响应从另一张表中提取一些数据。

在下一步中,我想通过电子邮件发送组合数据。我只想发送最后一行数据。我的问题是,如果有人知道如何在从另一个电子表格中提取数据而不仅仅是表单响应时触发电子邮件。我一直在摸索,试图弄清楚我可以使用什么样的触发器,因为它需要足够的延迟才能拉入数据。

电子表格here...

【问题讨论】:

  • 不要担心尝试获取 lastRow 只需使用电子表格的 onFormSubmit 触发器并从 e.values 或 e.namedValues 获取值,其中 e 是来自触发器的事件对象,跨度>
  • 谢谢,我会试一试的。
  • 您是否根据 Cooper 的建议解决了这个问题?如果是这种情况,您会考虑发布答案吗?如果您对此感到困扰,我建议您提供有关您当前情况的信息,以便这里的人可以提供帮助,包括您正在处理的代码。
  • 我走上了一条完全不同的路线,我只需要一点延迟,所以我使用了我在这里找到的代码stackoverflow.com/questions/50199186/…,提取了我的数据并使用了带有实用程序的 onChange 触发器。睡眠()延迟
  • 考虑发布一个解释您如何解决此问题的答案。

标签: google-apps-script google-sheets


【解决方案1】:

我相信您已提取数据并已解决发送电子邮件。创建延迟所需的只是使用之前的 flush() 方法来发送电子邮件,以确保完成对电子表格的拉入工作:

// pull your info (I believe you got it resolved)
 ...`enter code here`
SpreadsheetApp.flush(); // for the changes to take place
// sendMails (I understand you got it resolved)
...`enter code here`

https://developers.google.com/apps-script/reference/spreadsheet/spreadsheet-app#flush()

我希望这是您的要求,否则请告诉我。

【讨论】:

  • 谢谢,我最终也使用了 Utilities.sleep() 延迟。不确定这是最精致的方式,但它对我正在做的事情有效。
猜你喜欢
  • 1970-01-01
  • 2015-05-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-03-19
  • 2020-06-23
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多