私はまだここでロープを学んでいて、誰かがこれについての最善の方法を親切に提案してくれることを望んでいました(私は解決策を探しましたが成功しませんでした!):
私は非常に単純なスプレッドシートを持っています:
列A:電子メールアドレス。列B:送信するメッセージ。(列Aは、Sheet2のより長いアドレスのリストからいくつかの電子メールアドレスを取得する式を使用して生成されます。)
Sheet2には、すべての電子メールアドレスの「マスター」リストが含まれています。-列A:名前。列B:電子メールアドレス
以下のコードを出発点として使用しています。Sheet1のアドレスに電子メールを送信し、電子メールが送信されるたびに(つまり、スクリプトがその行の処理を完了したときに)、列Cのセルに「EMAIL_SENT」のマークを付けます。
Sheet2のC列に各人に送信された電子メールの総数を数えたいのですが、これに取り組む最善の方法はわかりません。正直なところ、どこに行けばよいのかわかりません。始める!
function sendEmails() {
var sheet = SpreadsheetApp.getSheetByName('Sheet1');
var EMAIL_SENT = "EMAIL_SENT";
var startRow = 1; // First row of data to process
var dataRange = sheet.getDataRange()
var data = dataRange.getValues();
for (var i = 0; i < data.length; ++i) {
var row = data[i];
var emailAddress = row[0]; // First column
var message = row[1]; // Second column
var emailSent = row[2]; // Third column
if (emailSent != EMAIL_SENT) { // Prevents sending duplicates
var subject = "Sending emails from a Spreadsheet";
MailApp.sendEmail(emailAddress, subject, message);
sheet.getRange(startRow + i, 3).setValue(EMAIL_SENT);
// Make sure the cell is updated right away in case the script is interrupted
SpreadsheetApp.flush();
}
}
}
前述のように、Sheet2には全員の電子メールアドレスが含まれているため、Sheet2の各人の数を数えておきたいと思います(Sheet1にはほんの一握りのアドレスしかなく、このリストは毎日変更されます)。
誰かがこれに光を当ててくれませんか?任意の提案をいただければ幸いです。
見てくれてありがとう。