MailApp-使用if语句跳过行,并在电子邮件正文中添加多行

时间:2019-04-05 11:04:48

标签: google-apps-script spreadsheet

我有一个包含学生数据的电子表格。第一行是电子邮件,第二行是名称,第三行是第一次考试,第四行是第二次考试,等等。

我想向每位学生发送电子邮件,说明他们需要参加的考试。有些学生没有参加所有考试,这些行是空的。

我能够向所有包含所有行的学生发送电子邮件。我将所有行都作为变量,并将其放在defMessage中,defMessage是电子邮件正文。

我试图用if语句跳过空行,但是它不起作用。

var dateInSheet = new Date();
var EMAIL_SENT = dateInSheet;


function sendEmails2() {
  var sheet = SpreadsheetApp.getActiveSheet();
  var startRow = 2; 
  var numRows = 100;

  var dataRange = sheet.getRange(startRow, 1, numRows, 100);

  var data = dataRange.getValues();
   for (var i = 0; i < data.length; ++i) {
    var col = data[i];
    var emailAddress = col[1]; // First column
    var nl2fll = col[3];
     if (nl2fll.match('@')  === null){
      continue; 
     }; 
   var rk2f = col[4]; 
    if (rk2f.match('@')  === null){
     continue; 
    }; 

  var defMessage = nl2fll + rk2f;
  var emailSent = col[8]; 
   if (emailSent != EMAIL_SENT) { 
  var subject = 'Je examenplanning is gereed - Medivus';
   MailApp.sendEmail(emailAddress, subject, defMessage, {
     replyTo: 'xx@xx.nl',
     name: 'Examenbureau'
   }
  );
  sheet.getRange(startRow + i, 8).setValue(EMAIL_SENT);

  SpreadsheetApp.flush();
}
}
}

在每个行变量之后使用if语句,则什么也没有发生,因此不会发送电子邮件。

我不知道该如何解决。

0 个答案:

没有答案