我正在尝试编写一个代码,该代码将根据我的Google工作表收到的回复自动发送电子邮件。
我对此很陌生,所以我的进度很慢。
在我的工作表中,我有两个电子邮件模板。当F列中除“ None”外还有其他内容时,“电子邮件模板1”是我要发送至A列电子邮件的模板。当F列确实说“无”时,我会发送“电子邮件模板2”
现在,此工作表由Google表单提供,并且每天将更新多次。因此,我只想为每个条目发送一封电子邮件。
这是到目前为止我的代码。它可以发送电子邮件,但只能发送“电子邮件模板1”,并且它会根据“输入”表自动填充。
function sendEmails() {
SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Form Responses 1").activate();
var ss = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var lr = ss.getLastRow();
var templateText = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Email Template 1").getRange(1,1).getValue();
for (var i = 2;i<=lr;i++){
var currentEmail = ss.getRange(i,1).getValue();
var currentName = ss.getRange(i,5).getValue();
var currentMessage = ss.getRange(i,2).getValue();
var currentName1 = ss.getRange(i,5).getValue();
var currentMessage1 = ss.getRange(i,6).getValue();
var currentMessage2 = ss.getRange(i,7).getValue();
var currentMessage3 = ss.getRange(i,10).getValue();
var currentMessage4 = ss.getRange(i,11).getValue();
var currentMessage5 = ss.getRange(i,12).getValue();
var currentMessage6 = ss.getRange(i,8).getValue();
var currentMessage7 = ss.getRange(i,9).getValue();
var currentMessage8 = ss.getRange(i,14).getValue();
var currentMessage9 = ss.getRange(i,15).getValue();
var messageBody = templateText.replace("{Name}",currentName1).replace("{Answer}",currentMessage1).replace("{Answer}",currentMessage2).replace("{Answer}", currentMessage3).replace("{Answer}",currentMessage4).replace("{Answer}",currentMessage5).replace("{Answer}",currentMessage6).replace("{Answer}",currentMessage7).replace("{Answer}",currentMessage8).replace("{Answer}",currentMessage9);
var subjectLine1 = "COVID-19 UPDATE-" + currentName + "-Fit For Duty";
MailApp.sendEmail(currentEmail, subjectLine1, messageBody);
}
}
我还附上了我正在使用的工作表的副本。 Version of actual to play with