Я пытаюсь отправить электронное письмо только с новыми данными строки.У меня есть столбец 21, чтобы добавить отправлено при отправке электронной почты и сценарий, чтобы игнорировать это, если он говорит отправлено в этой ячейке.Проблема в том, что он отправляет все данные строки на мой адрес электронной почты.
function onEdit() {
var ActiveSheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var StartRow = 2;
var RowRange = ActiveSheet.getLastRow() - StartRow + 1;
var WholeRange = ActiveSheet.getRange(StartRow,1,RowRange,1000);
var AllValues = WholeRange.getValues();
var message = "";
for (i in AllValues) {
var CurrentRow = AllValues[i];
//Sent?
var EmailSent = CurrentRow[21];
//if row has been sent
if (EmailSent == "sent")
continue;
message +=
"<p><b>New RMA?: </b>" + CurrentRow[4] + "</p>" +
"<p><b>Device SKU: </b>" + CurrentRow[5] + "</p>" +
"<p><b>ESN / MEID: </b>" + CurrentRow[7] + "</p>" +
"<p><b>Reason for RMA: </b>" + CurrentRow[8] + "</p>" +
"<p><b>Defective Out of Box?: </b>" + CurrentRow[10] + "</p>" +
"<p><b>Date Sold: </b>" + CurrentRow[11] + "</p>" +
"<p><b>Vendor: </b>" + CurrentRow[12] + "</p>" +
"<p><b>Email Address: </b>" + CurrentRow[13] + "</p><br><br>";
var setRow = parseInt(i) + StartRow;
ActiveSheet.getRange(setRow, 21).setValue("sent");
}
var SendTo = "davidm@email.com";
var Subject = "RMA Submission";
MailApp.sendEmail({
to: SendTo,
cc: "",
subject: Subject,
htmlBody: message,
});
}
Как я могу исправить эту проблему с помощью вышеуказанного скрипта?
Я попытался это безуспешно.Он включает в себя все 136 строк, а не только новые без SENT в столбце 22 * 1006 *
function onEdit() {
var ActiveSheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var StartRow = 2;
var RowRange = ActiveSheet.getLastRow() - StartRow + 1;
var WholeRange = ActiveSheet.getRange(StartRow,1,RowRange,22); //<---Changed
var AllValues = WholeRange.getValues();
var message = "";
for (i in AllValues) {
var CurrentRow = AllValues[i];
var EmailSent = CurrentRow[22];
if (EmailSent == "sent")
continue;
message +=
"<p><b>New RMA?: </b>" + CurrentRow[4] + "</p>" +
"<p><b>Device SKU: </b>" + CurrentRow[5] + "</p>" +
"<p><b>ESN / MEID: </b>" + CurrentRow[7] + "</p>" +
"<p><b>Reason for RMA: </b>" + CurrentRow[8] + "</p>" +
"<p><b>Defective Out of Box?: </b>" + CurrentRow[10] + "</p>" +
"<p><b>Date Sold: </b>" + CurrentRow[11] + "</p>" +
"<p><b>Vendor: </b>" + CurrentRow[12] + "</p>" +
"<p><b>Email Address: </b>" + CurrentRow[13] + "</p><br><br>";
var setRow = parseInt(i) + StartRow;
ActiveSheet.getRange(setRow, 22).setValue("sent");
}
var SendTo = "davidm@";
var Subject = "RMA From" +" "+ CurrentRow[13]; //<---Changed
MailApp.sendEmail({
to: SendTo,
cc: "",
subject: Subject,
htmlBody: message,
});
}
Рабочий сценарий
function SendEmail() {
var ActiveSheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var StartRow = 2;
var RowRange = ActiveSheet.getLastRow() - StartRow + 1;
var WholeRange = ActiveSheet.getRange(StartRow,1,RowRange,20);
var AllValues = WholeRange.getValues();
var message = "";
for (i in AllValues) {
var CurrentRow = AllValues[i];
var EmailSent = CurrentRow[18];
Logger.log(CurrentRow[18]);
if (EmailSent == "Sent")
continue;
message =
"<p><b>Email?: </b>" + CurrentRow[1] + "</p>" +
"<p><b>District: </b>" + CurrentRow[2] + "</p>" +
"<p><b>Vendor Cost: </b>" + CurrentRow[3] + "</p>" +
"<p><b>Vendor Cost: </b>" + CurrentRow[4] + "</p>" +
"<p><b>Default Price: </b>" + CurrentRow[5] + "</p>" +
"<p><b>Vendor: </b>" + CurrentRow[6] + "</p>" +
"<p><b>Vendor SKU: </b>" + CurrentRow[7] + "</p>" +
"<p><b>Manufacturer: </b>" + CurrentRow[8] + "</p>" +
"<p><b>Manufacturer SKU: </b>" + CurrentRow[9] + "</p>" +
"<p><b>Barcode: </b>" + CurrentRow[10] + "</p>"+
"<p><b>Category: </b>" + CurrentRow[11] + "</p>" +
"<p><b>Device: </b>" + CurrentRow[12] + "</p>" +
"<p><b>Model: </b>" + CurrentRow[13] + "</p>"+
"<p><b>Color: </b>" + CurrentRow[18] + "</p>";
var setRow = parseInt(i) + StartRow;
ActiveSheet.getRange(setRow, 19).setValue("Sent");
}
var SendTo = "";
//var SendToEmail = "";
var Subject = "New Sku:" +" "+ CurrentRow[13] +" " +"From:"+" "+CurrentRow[1];
MailApp.sendEmail({
to: SendTo,
cc: "",
subject: Subject,
htmlBody: message,
});
// MailApp.sendEmail({
// to: SendToEmail,
// cc: "",
// subject: Subject,
// htmlBody: message,
// });
}