【GAS 9.】 定型文に文字列を差し込みメールを送信する(上限チェック)[Gmail]

Gmail

GASで制御する Gmail

ご訪問ありがとうございます。

Googleシートマスターのひろしです。

前回

【GAS 9.】 メールの送信 基本形[Gmail]
GAS(Google Apps Script)からEmailを送ることができます。

今回は、とっても価値の高い方法をお伝えします。


これを知ることであなたは、

  • GAS(Google Apps Script)からEmailを送る際に定型フォーマットを使用することができます。

なのでサクッとマスターして

と答えてあげてください。

 

動画はこちら

テンプレ文章

こんにちは、{name}さん。

これは、リマインダーメールです。
今回、{name}さんは、{title}に変更となります。


それでは、ごきげんよう。

 

スクリプト


function sendEmail() {
var app = SpreadsheetApp;
var ss = app.getActiveSpreadsheet().getActiveSheet();

var lr = ss.getLastRow();

var tempText = app.getActiveSpreadsheet().getSheetByName("Template").getRange(1,1).getValue();

for( var i=2 ; i <= lr ;i++){

  var currentEmail = ss.getRange(i, 1).getValue();
  var currentName = ss.getRange(i, 2).getValue();
  var currentClass = ss.getRange(i, 3).getValue();

  var emailText = tempText.replace("{name}",currentName).replace("{name}",currentName).replace("{title}",currentClass);
  var subjectText = "Reminder :"+ currentClass + "に変更のお知らせ";
// Logger.log(subjectText);


  MailApp.sendEmail(currentEmail, subjectText,emailText );
}
// Logger.log(currentEmail);
}


ポイント

Template シートから読み込んだ文章に対して{}の文字列を一覧から読み込んだ
文字列に置換します。

置換

文字列.replace (置換する文字列,置換後の文字列) となります。

1日に送れるメールの上限チェックとボタンの割当て

    • GAS(Google Apps Script)からEmailを送る際に1日の上限をチェックできるようになります。
    • メッセージボックスの作り方がわかります。
  • ボタンから関数を起動できます。

 

 

 

function sendEmail() {
  var app = SpreadsheetApp;
  var ss = app.getActiveSpreadsheet().getActiveSheet();
 
  var lr  = ss.getLastRow();
 
  var tempText = app.getActiveSpreadsheet().getSheetByName("Template").getRange(1,1).getValue();
 
  var qutaLeft = MailApp.getRemainingDailyQuota();
  Logger.log(qutaLeft);
   
  if((lr-1) > qutaLeft ){
    Browser.msgBox("1日に送信できるメールは、あと"+qutaLeft+"通です。" + (lr-1)+"通のメールは送れません。");
  }
  else{
    for( var i=2 ; i <= lr ;i++){
     
      var currentEmail = ss.getRange(i, 1).getValue();
      var currentName = ss.getRange(i, 2).getValue();
      var currentClass = ss.getRange(i, 3).getValue();
     
      var emailText = tempText.replace("{name}",currentName).replace("{name}",currentName).replace("{title}",currentClass);
      var subjectText = "Reminder :"+ currentClass + "に変更のお知らせ";
     
      MailApp.sendEmail(currentEmail, subjectText,emailText  );
    }
  }
  //  Logger.log(currentEmail);


}

 

 

最後までご覧いただきありがとうございます。

つぎはこちら

【GAS基礎講座 10】 Googleドキュメント 文字列の置換 (テンプレに差し込んでPDFファイルを出力)
  • Googleドキュメントにおける文字列の置換方法がわかります。
  • ファイルのコピーの仕方がわかります。
  •  

    GASで制御する Gmail

    コメント

    タイトルとURLをコピーしました