根据单元格值发送电子邮件

时间:2017-04-24 08:48:47

标签: google-apps-script

我正在尝试每周发送一封电子邮件给经理,并提供优秀的报告。代码应该只考虑列#34; E"中的单元格的值。发送提醒时。我使用的代码是从互联网上的各种来源粘贴在一起的,它没有任何错误地执行,但即使满足条件也不会发送任何电子邮件。我非常感谢任何帮助。

正在使用的数据出现在"区域经理"片材。

这是我对代码的尝试:

panel.AutoScroll = true;

1 个答案:

答案 0 :(得分:2)

你的代码有点乱。您声明了一些您​​不会使用的变量。这是您问题的简单解决方案:

function sendEmails() {
  var sSheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Area Managers"); //get the sheet "Area Managers"
  var data = sSheet.getRange(2, 1, sSheet.getLastRow(), sSheet.getLastColumn()).getValues(); //get the values of your table, without the header

  for (var i = 0; i < data.length; i++) { // For each element of your tab

    var row = data[i];

    if(row[5] > 0) {  // If the person have got at least 1 report outstanding (column E)

        var body = "Good day "+ row[0] + " you have " + row[5] + " Internal Audit reports outstanding.";
        GmailApp.sendEmail(row[1],"Outstanding Internal Audit Reports", body); // Sending a mail to alert

    }
  } 
}

代码是注释,因此您可以理解该过程

PS:您应该小心使用GmailApp邮件发送(see here)的配额,如果您发送过多邮件,可能会被阻止