Я хотел бы заполнить сообщение электронной почты содержимым определенной, статической ячейки в листах - PullRequest
0 голосов
/ 06 февраля 2019

Я отправляю электронное письмо с подтверждением, когда кто-то записывается на прием в форме Google.Я хотел бы, чтобы сообщение электронной почты было заполнено содержимым определенной ячейки.Это означает, что я смогу напечатать сообщение электронной почты в ячейку A2, и когда кто-то заполняет форму, он отправит это сообщение в качестве подтверждения по электронной почте.

У меня есть два разных почтовых сообщения: электронное письмо с подтверждением и электронное письмо с напоминанием.Я хотел бы, чтобы оба кода заполняли одно и то же сообщение.

function confirmationEmail(e) {
   var userName = e.values[2];
   var userEmail = e.values[3] + ";user@gmail.com";
   var date = e.values[4];
   var studentName = e.values[1];
   var body1 = "Hello " + userName + ",";
   var body2 = studentName + " has been registered for a physical at High School for the following date/time:";
   var body3 = "Please park in the large student parking lot on the east side of the High School.";
   var body4 = "Thanks!";
   var signature = "Name" + "\n" + "High School" + "\n" + "user@gmail.com" + "\n" + "***-***-****";
   var file1 = DriveApp.getFilebyId("1WDxic1meHzEGSjybJ2SS1h2MqGAhIAK4");
   var file2 = DriveApp.getFilebyId("1v4GQAP8PkTPQRPoYIdsEOMBr2ZvRO1eocsqixyZ42gA");


GmailApp.sendEmail(userEmail, 
                     "Registration",
                     body1 + "\n\n" + body2 +"\n\n" + date + "\n\n" + body3 + "\n\n" + body4 + "\n\n" + signature,
                     {attachments:[file1, file2]})

}

Этот код уже отлично работает, однако у меня есть несколько коллег, даже менее опытных, чем я. Было бы лучше, если бы они могли просто заполнить ячейку содержимым сообщения, чтобы иметь возможностьчтобы отправить это.Таким образом, в идеале, «body3» должен быть записан в ячейку на листах и ​​помещен в электронное письмо.

1 Ответ

0 голосов
/ 06 февраля 2019

Итак, я думаю, вы хотели бы что-то вроде этого:

var body3 = SpreadsheetApp.getActiveSheet().getRange('A2').getValue();

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

Возможно что-то вроде этого:

if(body1 && body2 && body3){
  //send email
}else{
  SpreadsheetApp.getUi().alert('Invalid or Missing Content');
}
...