我有一个脚本,如果在Google电子表格中添加了新行,该脚本会发送邮件。我想添加第二个条件,以使脚本能够正常工作。
现在有条件if (EmailSent != "gesendet")
,但我希望有其他条件,即脚本检查当前行中的另一个单元格(如果至少是一个或多个邮件地址)。
function sendEmail() {
var ActiveSheet = SpreadsheetApp.getActive().getSheetByName('xxx')
var StartRow = 3;
var RowRange = ActiveSheet.getLastRow() - StartRow + 1;
var WholeRange = ActiveSheet.getRange(StartRow,1,RowRange,33);//Added a new column for recipient email address
var AllValues = WholeRange.getValues();
for (var i=0;i<AllValues.length;i++) {
var CurrentRow = AllValues[i];
var Subject = "Neu: " + CurrentRow[7] + " für Ressort " + CurrentRow[5] + " - "+ CurrentRow[6];
var message = "<p><b>Ressort: </b>" + CurrentRow[5] + "</p>" + "<p><b>Textart: </b>" + CurrentRow[7] + "</p>" + "<p><b>Domain: </b>" + CurrentRow[6] + "</p>" + "<p><b>Thema: </b>" + CurrentRow[8] + "</p>" + "<p><b>fertig bis: </b>" + CurrentRow[2] + "</p>";
var EmailSent = CurrentRow[0];
var SendTo = (CurrentRow[32])?CurrentRow[32]:"aaa@bbb.com" + "," + "xxx@yyy.com";//conditional (ternary) operator. If CurrentRow[32] is there then use it otherwise use your default.
if (EmailSent != "gesendet") {
var setRow = parseInt(i) + StartRow;
ActiveSheet.getRange(setRow, 1).setValue("gesendet");
MailApp.sendEmail({to: SendTo,cc: "",subject: Subject,htmlBody: message});
}
}
}
如果脚本在单元格中查找“ @”,也许就足够了。仅当if (EmailSent != "gesendet")
且单元格中的“ @”脚本才起作用。如果没有“ @”,则脚本不起作用。
答案 0 :(得分:1)
如果您要检查CurrentRow[32]
的电子邮件地址,可以将if语句更改为:
if (EmailSent != "gesendet" && CurrentRow[32].match('@') != null ) {
这会查看CurrentRow[32]
中的文本,并检查其中是否包含'@'。