【问题标题】:How send entire row in an email based on a specific date in cell, Send email 1 week before and 1 day before如何根据单元格中的特定日期在电子邮件中发送整行,在 1 周前和 1 天前发送电子邮件
【发布时间】:2017-12-12 23:36:58
【问题描述】:

我是谷歌表格的新手。我有一个电子表格,可以记录所有将要进行的考试。我在考试日期前一周和前一天手动向团队发送电子邮件。在电子邮件中,我包含了考试详细信息(基本上是一行)。

我正在寻找一种在每次考试日期前 1 周和 1 天自动向整个团队发送电子邮件的方法。每个考试都将在不同的纸上,例如所有 GCSE 数学考试都将在一张纸上,所有 数学将在另一个方面

任何帮助将不胜感激。

我已经阅读了一些论坛,但是我不知道如何在特定日期前 1 周和 1 天发送。

我的电子表格的链接如下。

https://docs.google.com/spreadsheets/d/19_UtQCN5vXvGOtLD15abKbKKArm3TbuVucHrfnAL7Ho/edit?usp=sharing

我没有太多代码,因为这对我来说是新的,但我正在努力理解。

function CustomEmail() {

  var sheet = SpreadsheetApp.getActiveSheet();
  var range = sheet.getRange("A2:I100");
  var UserData = range.getValues();

  for (i in UserData) {
    var row = UserData[i];
    var CentreNumber = row[0];
    var Exam = row[1];
    var ExamDate = row[4];
    MailApp.sendEmail(row[8], "mrmtm2016@gmail.com", "Hello Colleague" + CentreNumber + ", This is a reminder of the scheduled Exam " + Exam);
  }
}

【问题讨论】:

    标签: email google-sheets


    【解决方案1】:

    您需要将time-driven trigger 添加到您的 Google Apps 项目中。 时间驱动的触发器允许脚本在特定时间或重复间隔执行,例如每天凌晨 3 点到凌晨 4 点之间。

    然后,您可以将 CustomEmail 函数设置为每天运行的函数。 Step by step instructions on how to add a trigger

    在您的 CustomEmail 中,您必须更改您的 for 循环。您需要将每个 ExamDate 与今天的日期进行比较,如果相差 1 天或 1 周,请发送电子邮件。

    今天的日期计算为Date.now(),但我不知道ExamDates 在您的表格中是如何表示的。查找如何将今天的日期和 ExamDate 转换为相同的表示。

    Here's how you do calculations with dates in javascript.

    【讨论】:

    • 您好,谢谢您的回答,我会调查的。感谢您的宝贵时间,谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-05-08
    • 1970-01-01
    • 2019-06-21
    • 1970-01-01
    • 2014-07-09
    相关资源
    最近更新 更多