描述
仅发送一封包含符合条件的项目列表的电子邮件
inv <= 100
将每个项目附加到消息字符串。
如果您对每一行都使用getValue(),我建议您使用getValues()获取所有数据,然后循环遍历values数组。
我会用setValues()来表示“发送”,但不知道该列中还有什么。
剧本
function test() {
let sheet = ss.getSheetByName("INV");
let emailRange = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheets2").getRange("A1");
let mailAddress = emailRange.getValue();
let values = sheet.getDataRange().getValues();
let message = "";
let subject = 'Test';
// i is row -1
for( let i=3; i<sheet.getLastRow(); i++ ){
let inv = values[i][10];
if( inv <= 100 ){
let ref = values[i][3];
let name = values[i][4];
let qnty= values[i][8];
message = message+'Work' + ref + name + qnty +"\n" ;
// unfortunately can't do anything about this without knowing what is column N
sheet.getRange(i+1,13).setValue("Send");
}
}
if( message === "" ) {
SpreadsheetApp.getUi().alert("No items found");
}
else {
MailApp.sendEmail(mailAddress, subject, message);
}
}
参考