【问题标题】:Email from a spreadsheet with array as message来自电子表格的电子邮件,其中数组作为消息
【发布时间】:2013-01-22 13:03:38
【问题描述】:

我正在尝试制作一个脚本,该脚本每天从正在更改的电子表格中发送电子邮件(使用 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();  
    }
  }
}

【问题讨论】:

  • 您每晚要发送多少封电子邮件?是每排一个吗?还是一共?

标签: google-apps-script google-sheets


【解决方案1】:

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

var message = "Value1: " + row[10] + "  Value2: " + row[11] ...

【讨论】:

    猜你喜欢
    • 2021-02-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多