Как пропустить пустые ячейки для отправки писем? - PullRequest
0 голосов
/ 27 января 2020

Я использую форму Google, чтобы отправлять электронные письма родителям и тренерам, если ученики пропускают работу. Проблема, с которой я сталкиваюсь, заключается в том, что иногда адрес электронной почты тренера не указывается в списке, потому что ученик не занимается спортом, поэтому в нем есть пустая ячейка, и сценарий останавливается. Я просто хочу, чтобы он пропустил и продолжил движение вниз по листу. Также есть ли способ получить ячейку для подтверждения отправки? Например, если ячейка рядом с письмом говорит «отправлено» или «ошибка» в случае сбоя? Я не очень заинтересован в этой части, просто было бы неплохо. Я действительно новичок в этом. Спасибо!

function SendCoachEmails() {

  SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Homework Hour 4.0").activate();//take off 4.0 when done with texting

  var ss = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  var lr = ss.getLastRow();
  var templateText = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("DO NOT DELETE! Parent Email Template").getRange(1, 1).getValue();
  var quotaLeft = MailApp.getRemainingDailyQuota();

  if((lr-1) > quotaLeft) {
    Browser.msgBox("You have " + quotaLeft + " left and you're trying to send" (lr-1) + " emails. Emails were not sent")
  } else {

    for (var i = 2;i<=lr;i++){  // i is the current row so in this i is row 2 

    var currentEmail = ss.getRange(i,12).getValue(); // 15 is the email column  
    var currentStudent = ss.getRange(i, 4).getValue(); // 4 is student name column
    var currentMessage = ss.getRange(i, 2).getValue(); // 2 is the message column
    var currentMissingAssingment = ss.getRange(i, 9).getValue(); // 9 is the missing assingment column

    var massageBody = templateText.replace("<<Student Name>>",currentStudent).replace("<<Message>>",currentMessage).replace("<<Missing Assingment>>",currentMissingAssingment);
    var subjectLine = currentStudent +" Has Homework Hour"; // change whats in the "" to what you need the subject on the email to be

   MailApp.sendEmail(currentEmail, currentStudent, massageBody); // to change subject on email change "Has Homework Hour" Part//

   } 
  }
 }

1 Ответ

0 голосов
/ 27 января 2020

Вы можете использовать простой оператор условия, т.е. проверить, есть ли электронная почта, прежде чем отправить

if (currentEmail.trim() !== '')// check if email is not blank
   MailApp.sendEmail(currentEmail, currentStudent, massageBody); // to change subject on email change "Has Homework Hour" Part//
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...