【问题标题】:Email notification in google apps script谷歌应用脚​​本中的电子邮件通知
【发布时间】:2015-05-15 05:14:59
【问题描述】:

https://support.google.com/docs/answer/91588?hl=en

我有一张表格,其中的单元格填充了通过 Apps 脚本提取的数据,这些数据来自网站。有时他们会提取完全相同的数据,有时则不会。在旧的表格版本中,当数据仅“更改”为不同的值时,我能够收到电子邮件。现在有了新的表格,当新数据粘贴到单元格中时,我会收到一封电子邮件,即使它的数据完全相同......而且,我不能再将它设置为查看范围,只能查看整个文档.有没有一种简单的方法可以在数据发生变化时观察单元格,然后给自己发电子邮件?

【问题讨论】:

  • 您是否尝试过在 onEdit() 中包含电子邮件功能?到目前为止,如果您对此进行过任何尝试,请告诉我们。
  • 我没有。还不太好,这是我的工作表:docs.google.com/spreadsheets/d/…
  • 阅读我在下面的答案中提供的链接。他们应该帮助你。它们正是您所需要的。然后,如果您遇到困难,请创建一个新问题,发布您的代码,我们可以帮助您进一步解决问题。

标签: google-apps-script google-sheets


【解决方案1】:

This 看起来很像您正在尝试做的事情。

为了检查编辑后值是否真的发生了变化,this 为您提供了所有必要的信息。因此,您将知道新值是否相同。实施第二个链接中提到的“解决方法”,如果值发生变化,我能够比较并向自己发送电子邮件。为您的 onEdit 函数启动一个 onEdit 触发器,该函数在所有检查都通过后使用这些行。

var email = "xyz@whatever.com";
MailApp.sendEmail(email, "TriggerMail", "A change has occurred in the Sheet");

注意:这只会向您发送“通知”类型的电子邮件,但您甚至可以通过关注tutorial 轻松将更改的值包含在电子邮件中。

【讨论】:

  • 我正在考虑将数据复制到另一张表,然后提取新数据,并在最后进行比较。我想我已经把所有的东西都记下来了,除了如何比较它,如果有任何不同,请发电子邮件......
  • 让您的 onOpen 函数将数据复制到另一张工作表。这将确保您在另一张工作表中的数据在任何人更改工作表中的任何内容之前都是最新的。进行任何更改时,请使用e.range 获取所做更改的范围。获取另一张表中相同范围的值并进行比较。但是,您必须为在工作表中插入行的场景制定策略。这可能是一个新问题的基础。
猜你喜欢
  • 1970-01-01
  • 2013-04-04
  • 2017-07-31
  • 1970-01-01
  • 1970-01-01
  • 2020-04-22
  • 2016-09-12
  • 2012-09-24
  • 1970-01-01
相关资源
最近更新 更多