0
私はGoogle Apps Scriptで新しく、Googleスプレッドシートにグループタスクリストを作成し、今日仕事が終了すると自動的に人々のリマインダーを送信するスクリプトを作成しました。GAS:リマインダを一人で一度だけ送信する
スクリプトは正常に動作していますが、スクリプトでは今日3つのタスクがあると3つの異なるメールが届くため、改善したいと思います。 1人のメールを1通しか送信できない方法がありますか?
私はしばらくは見ましたが、何も見つかりませんでした。
ありがとうございます!
function Reminders() {
var sheet = SpreadsheetApp.getActiveSheet();
var newEmployee = sheet.getRange("C1").getValue();
var sheetId = SpreadsheetApp.getActiveSpreadsheet().getId();
var EMAIL_SENT = "OUI"
var dataRange = sheet.getRange(7, 200, 1, 12) // (sart Row, N° of Rows, Start Column, n° of Columns)
var data = dataRange.getValues();
for (var i = 0; i < data.length; ++i) {
var row = data[i];
var emailAddress = row[4]; // We look for email adress on colum 5
if (emailAddress == "") continue;
var subject = "Reminder - you have a task due today for " + newEmployee;
var message = row[2];
var joursrestants = row[7]; // We look for days left before task deadline in column 8
var statut = row[9]; // We look for task statut in colum 9
if (joursrestants == "0" && statut == "A FAIRE") { // if days left before task = 0 AND status = "A FAIRE" :
// A. We send a reminder Email
MailApp.sendEmail(emailAddress, subject, message, {
name: 'Rappel automatique',
replyTo: '[email protected]',
});
// B. We write in colum 10 that a reminder has been sent
sheet.getRange(startRow + i, 9).setValue(EMAIL_SENT)
SpreadsheetApp.flush();
}
}
}