【问题标题】:Sending email alert as soon as live data adds new row(s)实时数据添加新行后立即发送电子邮件警报
【发布时间】:2018-01-15 03:17:55
【问题描述】:

我是 Google 表格和脚本的新手。我已经设置了一个工作表来使用 IMPORTHTML 函数获取实时数据。我正在尝试设置一个脚本并触发在 (**@gmail.com) 向我发送包含新行信息的电子邮件,只要将一个或多个新行添加到实时工作表的底部。那可能吗?我尝试使用基于时间的触发器编写代码,以检查是否添加了新行。

以下是我目前拥有的代码。两个问题: 1. 这是每分钟向我发送电子邮件,而不是仅添加新行时 2. 这是向我发送总行数而不是添加的新行的信息(我需要它向我发送添加的新行中所有单元格的详细信息)

非常感谢。

 function sendemailupdates() {

 //setup function
 var ss = SpreadsheetApp.getActiveSpreadsheet();
  ss.setActiveSheet(ss.getSheetByName("Email send"));
  var ActiveSheet = SpreadsheetApp.getActiveSheet();
 var StartRow = 2;
 var RowRange = ActiveSheet.getLastRow() - StartRow + 1;
 var WholeRange = ActiveSheet.getRange(StartRow,1,RowRange,11);
 var AllValues = WholeRange.getValues();
  var lastRow = ActiveSheet.getLastRow();


  var message = "";
 //iterate loop
 for (i in AllValues) {

    //set current row
 var CurrentRow = AllValues[i];


 //define column to check if sent
 var EmailSent = CurrentRow[11];

    //if row has been sent, then continue to next iteration
 if (EmailSent == "Sent") 
     continue;

 //set HTML template for information
 message +=
      "<p><b>New Row: </b>" + lastRow + "</p>";

     //set the row to look at
  var setRow = parseInt(i) + StartRow;

   //mark row as "sent"
  ActiveSheet.getRange(setRow, 11).setValue("sent");
}

  //define who to send grants to 
 var SendTo = "**@gmail.com";

   //set subject line
 var Subject = "New row added";

  //send the actual email  
  MailApp.sendEmail({
      to: SendTo,
      cc: "",
      subject: Subject,
      htmlBody: message,
});
  Logger.log(message);
} 

【问题讨论】:

    标签: google-apps-script google-sheets google-apps-script-editor


    【解决方案1】:

    1.这是每分钟向我发送电子邮件,而不是仅添加新行时

    您将触发器设置为每分钟触发一次。该程序仅执行您指定它执行的操作。查看Drive API Push Notifications 教程,了解如何在资源发生更改时实现通知。

    2。这是向我发送的总行数而不是添加的新行的信息(我需要它向我发送添加的新行中所有单元格的详细信息)

    您可以查看我的代码here。希望它能让您深入了解您的工作。

    【讨论】:

    • 谢谢 noogui。我会做教程。关于代码,我认为您的超链接错误。只是为了确认,在您的代码中,您已经更新了我的脚本,或者它是一个不同的代码供其他参考?如果其中一些问题是基本的,请原谅我。
    猜你喜欢
    • 1970-01-01
    • 2021-11-11
    • 2016-07-24
    • 2020-11-09
    • 1970-01-01
    • 2019-08-01
    • 1970-01-01
    • 2022-01-21
    • 1970-01-01
    相关资源
    最近更新 更多