Bu sitedeki birçok okuma sayesinde, başarılı olmak istediğim şeyi yapan bir komut dosyası oluşturdum: Çalıştırıldığında, komut dosyası gönderir Bir e-tablodaki her yeni satır için tek tek bir e-posta adresi gönderin, ardından bu satırı "gönderildi" olarak işaretleyin. Yuppi!Bir e-tablodaki tüm yeni satırların değerleriyle tek bir e-posta gönder (Google Script/GAS)
Ancak şimdi tek bir e-postada tüm satırları birden çok bölüme derlemek için komut dosyasına ihtiyacım var. Bu yüzden, yeni satırları kontrol etmek için senaryoya ihtiyacım var, her yeni satırdaki değerleri tek bir bölüme eklemek için bir şablon kullanın, tüm yeni bölümleri bir e-postaya derleyin, e-postayı gönderin, ardından tüm yeni satırları "gönder" olarak işaretleyin.
Sıkıştığım her yeni eklenen satırın göreceli bir değişken tanımlaması gerektiği gibi görünüyor, yani ilk gönderilmemiş satır = sectionOne, second = sectionTwo, vs. Ama e-postanın uzunluğu ve değişken sayısı tanımlamak yeni satırların sayısına bağlı olacaktır. Bu yüzden, senaryoyu bir döngüden geçirmeyi ve e-posta gövdesine yeni içeriğin (ancak hepsinin) eklenmesini gerçekten bilmiyorum.
İşte sahip olduğum, burada hedefe nasıl ulaşılacağını bilen var mı?
çok fazla Kodu değiştirmedenfunction sendEmail() {
//setup function
var ActiveSheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var StartRow = 3;
var RowRange = ActiveSheet.getLastRow() - StartRow + 1;
var WholeRange = ActiveSheet.getRange(StartRow,1,RowRange,11);
var AllValues = WholeRange.getValues();
//iterate loop
for (i in AllValues) {
//set current row
var CurrentRow = AllValues[i];
//set subject line
var Subject = "Found by " + CurrentRow[1];
//set HTML template for information
var message =
"<p><b>Title: </b>" + CurrentRow[2] + "</p>" +
"<p><b>Agency: </b>" + CurrentRow[3] + "</p>" +
"<p><b>Summary: </b>" + CurrentRow[4] + "</p>" +
"<p><b>Due: </b>" + CurrentRow[5] + "</p>" +
"<p><b>Posted: </b>" + CurrentRow[6] + "</p>" +
"<p><b>Total Funding: </b>" + CurrentRow[7] + "</p>" +
"<p><b>Announcement Number: </b>" + CurrentRow[8] + "</p>" +
"<p><b>Useful Links: </b>" + CurrentRow[9] + "</p>";
//define column to check if sent
var EmailSent = CurrentRow[11];
//define who to send grants to
var SendTo = "[email protected]" + "," + "[email protected]";
//if row has not been sent, then...
if (emailsent != "sent") {
//set the row to look at
var setRow = parseInt(i) + startRow;
//mark row as "sent"
ActiveSheet.getRange(setRow, 11).setValue("sent");
//send the actual email
MailApp.sendEmail({
to: SendTo,
cc: "",
subject: subject,
htmlBody: message,
});
}
}
}
Yardımınız çok yardımcı oldu! Okuma kolaylığı için bazı küçük değişiklikler yaptım, ama sana çok müteşekkirim. Teşekkür ederim! –
Sorununuzu çözdüğünü duyduğuma sevindim! – Gerneio
Bu çözüm işe yaramıyor ... – testing123