0

現在、RSS フィードからスプレッドシートにデータを受信して​​います。私はスクリプト (以下) を持っています。これをタイム トリガー (毎分) で実行してデータをチェックし、データが特定の基準を満たしている場合は電子メールを送信します。

問題: 最初の電子メールが送信された後、その特定のデータ行の電子メールが既に送信されているかどうかをスクリプト内でチェックするシステム (タイムスタンプ?) を作成したいと考えています。これはこれを行うための最良の方法ですか?どうすればいいのですか?スクリプトは以下です。

function sendEmail(email_address, email_subject, email_message) {
  MailApp.sendEmail(email_address, email_subject, email_message);
}




function test_sendEmail() {
  var sheet = SpreadsheetApp.getActiveSheet();
  var cell = sheet.setActiveCell('A2');
  var criterion_cutoff = 5;
  var i = 0;
  var addr;
  var subj;
  var msg;
  do {
    addr = cell.offset(i,0).getValue();
    subj = cell.offset(i,1).getValue();
    msg = cell.offset(i,2).getValue();
    criterion = cell.offset(i,3).getValue();

    if(criterion < criterion_cutoff) {
      sendEmail(addr,subj,msg);
      Browser.msgBox('Sending email to: ' + addr);
    }
    i++;
  } while( cell.offset(i, 0).getValue().length > 0 )

  Browser.msgBox('Done!');
}
4

1 に答える 1

0

私があなたの質問を正しく理解していれば、重複を送信しないように、既にメールを送信したスプレッドシートの行をマークする何らかの方法が必要です. もしそうなら、このチュートリアルはそれを行う1つの方法を示しています: https://developers.google.com/apps-script/articles/sending_emails#section2

于 2012-07-13T20:21:55.713 に答える