> >

Google Spreadsheet フォーム投稿時のメール送信スクリプト

スポンサーリンク

今回は、Qlik Senseから少し離れます。

Googleのサービスが好きで、特にGoogle Spreadsheetの活用が大分好きです。

その中でもGoogle FormとGoogle Spreadsheet、さらにGoogle Apps Scriptを連携させた例を書きます。

何を書くかというと、Google Form投稿後のメール送信です。

ちなみに、このサイト内にあるCONTACT MEにも導入しています。

とりあえず、Google Formでフォームを作ってGoogle Spreadsheetと連携させます。
※この部分の説明は省きます。

そして、Google Apps Scriptを書くべく、ツール>スクリプトエディタを開きます。

で、あとは以下のコードを記載します。


// フォーム送信されたら起動され、最終行の内容をメールに記載して、送信する
function wmapp_contact_me_mail_send() {

  // 件名、本文
  var subject = '/*ココにメールのタイトルを記入*/'; 
  var body    = '';
  
  // メール送信先(管理者等)
  var mail_admin = 'XXXXXXXXXXXX@gmail.com';
  var mail_cc    = 'XXXXXXXXXXXX@gmail.com';
  var mail_reply = mail_admin;
  var mail_to    = 'XXXXXXXXXXXX@i.softbank.jp';

  try{    
    // スプレッドシートの操作
    var sh   = SpreadsheetApp.getActiveSheet();
    var rows = sh.getLastRow();
    var cols = sh.getLastColumn();
    var rg   = sh.getDataRange();
    Logger.log('rows='+rows+' cols='+cols);
    
    // メール本文作成
    for (var j = 1; j <= cols; j++ ) {
      var clmn_name  = rg.getCell(1, j).getValue();    // カラム名
      var clmn_value = rg.getCell(rows, j).getValue(); // 入力値 
      body += ( '【' + clmn_name + '】' + '\n' + clmn_value + '\n\n' );
      }
    
    // メール送信
    if ( mail_to ) {
      MailApp.sendEmail(mail_to, subject, body, {cc : mail_cc, replyTo : mail_reply});
    }else{
      MailApp.sendEmail(mail_admin, 'error spreadsheet none mailaddress', body);
    }
  }

  catch(e){
    MailApp.sendEmail(mail_admin, 'error spreadsheet func: wmapp_contact_me_mail_send()', e.message);
  } 
}

このコードの記述が完了したら、あとはトリガーをセットするだけ。

リソース>現在のプロジェクトのトリガー>新しいトリガーを設定>イベント>スプレッドシートから>フォーム送信時

スクリプトを起動する際に、Googleから承認を求められるので、承認を押してください。

これで、セッティング完了です。

フォームが投稿される度に最終行の内容が取得されて、ヘッダーとその最終行の内容を送信してくれるという仕組みです。

ビジネスにも使えるかなり素敵な仕組みです。

スポンサーリンク

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です