У меня есть форма Google, которая создает новую электронную таблицу Google строку после каждой отправки.
Для каждого представления я должен уведомить 1 из 18 человек.Вместо того, чтобы вручную отправлять сообщения каждому, я пытаюсь автоматически отправить электронное письмо, содержащее данные в строке new .
Однако происходит следующее: каждый раз, когда создается новая строка,электронное письмо отправляется, но оно включает каждую более старую строку, а не только новую - релевантную - строку.
Таким образом, в идеале,
- Форма отправляется, создается новая строка в электронной таблице
- Данные из строки (столбцы 2, 7, 8, 9) иположить в электронное письмо.
- Это - и только это - отправляется на соответствующее электронное письмо для человека.
Однако, как оно есть, после первого шага, если я запускаю кодон отправит человеку по электронной почте столбцы 2, 7, 8, 9 для каждой строки в таблице.Что нехорошо: (
Примечание: в форме указано имя человека, поэтому в коде я связал имя с адресом электронной почты. (Что, как я знаю, сделано ужасно)
Любые идеи, как я могу настроить это, чтобы включить только новые данные столбца строки в ответ по электронной почте?
function sendEmail() {
//setup function
var ActiveSheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var StartRow = 2;
var RowRange = ActiveSheet.getLastRow() - StartRow + 1;
var WholeRange = ActiveSheet.getRange(StartRow,1,RowRange,14);
var AllValues = WholeRange.getValues();
var templateText = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet2").getRange(1, 3).getValue();
//define who to send to
var Person 1 = "person1@email.com";
var Person 2 = "person2@email.com";
var Person 3 = "person3@email.com";
var Person 4 = "person4@email.com";
var Person 5 = "person5@email.com";
var Person 6 = "person6@email.com";
var Person 7 = "person7@email.com";
var Person 8 = "person8@email.com";
var Person 9 = "person9@email.com";
var Person 10 = "person10@email.com";
var Person 11 = "person11@email.com";
var Person 12 = "person12@email.com";
var Person 13 = "person13@email.com";
var Person 14 = "person14@email.com";
var Person 15 = "person15@email.com";
var Person 16 = "person16@email.com";
var Person 17 = "person17@email.com";
var Person 18 = "person18@email.com";
var message = "";
//iterate loop
for (i in AllValues) {
//set current row
var CurrentRow = AllValues[i];
//define column to check if sent
var EmailSent = CurrentRow[14];
//if row has been sent, then continue to next iteration
if (EmailSent == "sent")
continue;
//set HTML template for information
message +=
"<p>A student has filled in an independent travel request, please review it and let the office know if you have an issue with this travel. We will be processing this request as soon as possible. Details below: </p>" + "<br><br><br>" +
"<p><b>Student Name: </b>" + CurrentRow[2] + "</p>" +
"<p><b>Departure Date </b>" + CurrentRow[7] + "</p>" +
"<p><b>Return Date </b>" + CurrentRow[8] + "</p>" +
"<p><b>Accommodation: </b>" + CurrentRow[9] + "</p><br><br>";
//set the row to look at
var setRow = parseInt(i) + StartRow;
//mark row as "sent"
ActiveSheet.getRange(setRow, 14).setValue("sent");
}
//set subject line
var Subject = "Travel Notification";
//send the actual email
if(CurrentRow[3] == "Person One" && CurrentRow[13] != "sent" ) {
MailApp.sendEmail({
to: Person1,
cc: "",
subject: Subject,
htmlBody: message,
} )}
///
else if(CurrentRow[3] == "Person Two" && CurrentRow[13] != "sent" ) {
MailApp.sendEmail({
to: Person2,
cc: "",
subject: Subject,
htmlBody: message,
} )}
///
else if(CurrentRow[3] == "Person Three" && CurrentRow[13] != "sent" ) {
MailApp.sendEmail({
to: Person3,
cc: "",
subject: Subject,
htmlBody: message,
} )}
///
else if(CurrentRow[3] == "Person Four" && CurrentRow[13] != "sent" ) {
MailApp.sendEmail({
to: Person4,
cc: "",
subject: Subject,
htmlBody: message,
} )}
///
else if(CurrentRow[3] == "Person Five" && CurrentRow[13] != "sent" ) {
MailApp.sendEmail({
to: Person5,
cc: "",
subject: Subject,
htmlBody: message,
} )}
///
else if(CurrentRow[3] == "Person Six" && CurrentRow[13] != "sent" ) {
MailApp.sendEmail({
to: Person6,
cc: "",
subject: Subject,
htmlBody: message,
} )}
///
else if(CurrentRow[3] == "Person Seven" && CurrentRow[13] != "sent" ) {
MailApp.sendEmail({
to: Person7,
cc: "",
subject: Subject,
htmlBody: message,
} )}
///
else if(CurrentRow[3] == "Person Eight" && CurrentRow[13] != "sent" ) {
MailApp.sendEmail({
to: Person8,
cc: "",
subject: Subject,
htmlBody: message,
} )}
///
else if(CurrentRow[3] == "Person Nine" && CurrentRow[13] != "sent" ) {
MailApp.sendEmail({
to: Peron9,
cc: "",
subject: Subject,
htmlBody: message,
} )}
///
else if(CurrentRow[3] == "Person Ten" && CurrentRow[13] != "sent" ) {
MailApp.sendEmail({
to: Person10,
cc: "",
subject: Subject,
htmlBody: message,
} )}
///
else if(CurrentRow[3] == "Person Eleven" && CurrentRow[13] != "sent" ) {
MailApp.sendEmail({
to: Person11,
cc: "",
subject: Subject,
htmlBody: message,
} )}
///
else if(CurrentRow[3] == "Person Twelve" && CurrentRow[13] != "sent" ) {
MailApp.sendEmail({
to: Person12,
cc: "",
subject: Subject,
htmlBody: message,
} )}
///
else if(CurrentRow[3] == "Person Thirteen" && CurrentRow[13] != "sent" ) {
MailApp.sendEmail({
to: Person13,
cc: "",
subject: Subject,
htmlBody: message,
} )}
///
else if(CurrentRow[3] == "Person Fourteen" && CurrentRow[13] != "sent" ) {
MailApp.sendEmail({
to: Person14,
cc: "",
subject: Subject,
htmlBody: message,
} )}
///
else if(CurrentRow[3] == "Person Fifteen" && CurrentRow[13] != "sent" ) {
MailApp.sendEmail({
to: Person15,
cc: "",
subject: Subject,
htmlBody: message,
} )}
///
else if(CurrentRow[3] == "Person Sixteen" && CurrentRow[13] != "sent" ) {
MailApp.sendEmail({
to: Person16,
cc: "",
subject: Subject,
htmlBody: message,
} )}
///
else if(CurrentRow[3] == "Person Seventeen" && CurrentRow[13] != "sent" ) {
MailApp.sendEmail({
to: Person17,
cc: "",
subject: Subject,
htmlBody: message,
} )}
///
else if(CurrentRow[3] == "Person Eighteen" && CurrentRow[13] != "sent" ) {
MailApp.sendEmail({
to: Person18,
cc: "",
subject: Subject,
htmlBody: message,
} )}
}