ジョブが完了したときに電子メールを送信するスクリプトを作成します。メールを2回送信するのを防ぐと思われる部分を追加しました. 原因が分からず困っています。
function sendEmail()
{
var sheet = SpreadsheetApp.getActiveSheet();
var startRow = 2;
var numRows = sheet.getLastRow();
var EMAIL_SENT = "EMAIL_SENT";
var dataRange = sheet.getRange(startRow, 1, numRows, 3)
var data = dataRange.getValues();
for (var i = 0; i < data.length; ++i)
{
var row = data[i];
var emailAddress = row[1];
var message = "Correction Completed for " + row[2];
var subject = "Correction Completed";
var emailSent = row[9];
if (emailSent != "EMAIL_SENT") //prevent sending duplicate messages
{
MailApp.sendEmail(emailAddress, subject, message);
sheet.getRange(startRow + i, 9).setValue(EMAIL_SENT);
SpreadsheetApp.flush();
}
}
}
私の考えでは、sendEmail の部分を if ステートメントに入れていましたが、送信されません。ただし、それでもメールは送信されます。前もって感謝します。