在Google表格中的日期到期之前通过电子邮件发送通知

时间:2017-04-30 15:34:41

标签: google-sheets

由于我对编程知之甚少,所以我来这个社区寻求帮助。

我有this Google spreadsheet。我想创建一个脚本,例如在相关日期的前一天向我发送电子邮件通知。

例如:

see image

截止日期在H列中,例如当日期缺少1天时(在H列和第8行),我希望通过邮件收到第8行内容的通知,这个想法就是这样。

1 个答案:

答案 0 :(得分:1)

在脚本编辑器中,以下snipet的变体将执行您想要的操作。

function notify()
{
if(SpreadsheetApp.getActiveSpreadsheet.getActiveSheet().getActiveCell().getValue() == CONDITION)
{
MailApp.sendEmail("youremail@yourdomain.com,", 
    "Reminder Spreadsheet Message", msg);
}
}

它只是检查基本情况,随时根据您的需要进行更改。 对于输出电子邮件,您可以将第3个参数更改为您想要的任何内容。

编辑:检查日期条件:

var var1 = SpreadsheetApp.getActiveSpreadsheet.getActiveSheet().getActiveCell().getValue();
var var2 = DATEDIF(var1, TODAY(),"D");

并将if更改为:

if(var2 == 1)

注意我没有尝试过脚本,可能会有拼写错误。

在我必须研究如何制作Google表格脚本之后,我最后一次编辑是为了更具体。

1)

var var1 = SpreadsheetApp.getActiveSpreadsheet.getActiveSheet().getActiveCell().getValue();

这一行将为脚本提供调用它的单元格的值。 即如果你输入你的单元格“= nofity()”,将调用“notify()”函数。

2)

var var2 = DATEDIF(var1, TODAY(),"D");

DATEDIF是一个google工作表功能,可以为您提供两个日期之间的日(“D”)月(“M”)或年(“Y”)的数量。 由于var1是您调用notify from的单元格的内容,因此它将为您提供H8和TODAY之间的天数。

然后,如果var2是1,那么您输入if并通过以下方式发送电子邮件:

MailApp.sendEmail("youremail@yourdomain.com,", "Reminder Spreadsheet Message", msg);

sendEmail的第一个参数是地址,后跟对象和电子邮件的文本。

注2:脚本缺少某些部分,故意让你思考。 你的问题是谷歌脚本的基本用法,如果你不知道如何使用/做一个,你应该阅读一些教程,其中有很多,而且 - 它们 - 很容易理解。