1

我正在尝试制作一个脚本,该脚本每天从正在更改的电子表格中发送电子邮件(使用 TODAY() 函数过滤自身,以便每天将新数据放在某个工作表上)。我的问题是我需要电子邮件的消息来包含工作表中大约 15 行和 7 列的数组。此代码只想抓取一个单元格作为整个消息。

此外,它还具有将“EMAIL_SENT”放入单元格以确保它不会重新发送它的功能。问题是为此目的,我想让它每晚触发并仅发送一封电子邮件,然后在第二天晚上触发并再次发送相同的电子邮件......数组中的数据将发生变化。

谢谢你的帮助!亚历克斯

 var EMAIL_SENT = "EMAIL_SENT";
var NA = "N/A";

function sendEmails2() {
  var ss = SpreadsheetApp.openById( 'MY ID' ),
      sheet = ss.getSheetByName( 'Daily Reports' ),
      startRow = 2;  // First row of data to process
  var numRows = 2000;   // Number of rows to process

  var dataRange = sheet.getRange(startRow, 6, numRows, 13)

  var data = dataRange.getValues();
  for (var i = 0; i < data.length; ++i) {
    var row = data[i];
    var emailAddress = row[10];  // First column
    var message = row[11];       // Second column
    var emailSent = row[12];     // Third column
    if ((emailSent != EMAIL_SENT) && ((emailAddress != "#N/A") && (emailAddress != 0))) {  // Prevents sending duplicates
      var subject = row[0];
      MailApp.sendEmail(emailAddress, subject, message);
      sheet.getRange(startRow + i, 18).setValue(EMAIL_SENT);
      // Make sure the cell is updated right away in case the script is interrupted
      SpreadsheetApp.flush();  
    }
  }
}
4

1 回答 1

0

您只需添加多个单元格即可在电子邮件消息中添加多个单元格。就像是

var message = "Value1: " + row[10] + "  Value2: " + row[11] ...
于 2013-02-07T18:03:52.527 回答