我想确保电子邮件不会发送两次。脚本本身正在工作,但插入:
sheet.getRange(startRow + i, 6).setValue(EMAIL_SENT);
不起作用,但它会在第40行添加一个随机值。
有人可以帮我解决问题吗?非常感谢提前!
function sendEmails() {
var sheet = SpreadsheetApp.getActiveSheet();
var range = sheet.getRange(1, 2);
var subject = range.getValues();
var range = sheet.getRange(1, 9);
var numRows = range.getValues();
var startRow = 4;
var dataRange = sheet.getRange(startRow, 1, numRows,9)
var data = dataRange.getValues();
var EMAIL_SENT = "EMAIL_SENT";
for (i in data) {
var row = data[i];
var emailAddress = row[0];
var message = row[8];
var emailSent = row[5];
if (emailSent != EMAIL_SENT) {
MailApp.sendEmail(emailAddress, subject, message,{noReply: true});
sheet.getRange(startRow + i, 6).setValue(EMAIL_SENT);
}
}
}
答案 0 :(得分:0)
而不是使用for(i in data){...}
使用form(var i = 0;i < data.lenght;i++) {...}
for (variable in object)
在每次迭代时分配不同的属性名称,但您需要的是用于计算行索引的数据索引。