【備忘録】Googleフォームの質問項目の回答によってメールの送信先を切り替えるスクリプト|GoogleAppsScript

Googleフォームを使っている時、質問項目の内容によって、メールの送信先を変更する必要が出てきました。その時に作った、質問項目の回答によってメールの送信先を切り替えるGoogleAppsScriptの備忘録です。

ad

作成したフォーム

今回作成したGoogleフォームで、切り替えたい質問項目はプルダウンで選択する方式でした。

この選択肢1~4によって、それぞれメールの送信先アドレスを設定することになりました。

 

ad

実際のコード(抜粋)

もともと使用していた「フォームから回答があったらメールを送信するスクリプト」の一部を変更することで対応できました。要所だけピックアップして記録しておきます。

//メールの送信先用必要な変数を用意
var to = ""; // To:
var cc = ""; // Cc:
var bcc = ""; // Bcc:
var kanri = "kanri@xxxx.com";//管理者用

メール送信先をtoにするか、ccにするか、bccにするか、必要に応じてセットします。管理者用アドレスも必要に応じて使えるように用意しておきました。

 

//宛先メールアドレス用の変数を用意
var mail1 = "aaa@xxxx.com";//選択肢1の時の送信先アドレス
var mail2 = "bbb@xxxx.com";//選択肢2の時の送信先アドレス
var mail3 = "ccc@xxxx.com";//選択肢3の時の送信先アドレス
var mail4 = "ddd@xxxx.com";//選択肢4の時の送信先アドレス

宛先アドレスは変数を使わずに直接指定することもできますが、今後の運用の事を考慮して変数を用意しておきました。

 

//フォームの質問と回答を格納する
var FORMDATA = e.response.getItemResponses();

フォームの質問と回答はまとめて取得できて、後で色々と使っていく事になります。

 

//質問項目によってメールの送り先を変更
//質問項目の順番は最初が0番目になる[0][1][2][3]...
//今回はbccを指定。to,cc,bccはそれぞれ任意で設定
//宛先は変数を使わずに直接指定することもできる
//複数のアドレスを設定する事もできる
if(FORMDATA[0].getResponse() == "選択肢1"){
  bcc = mail1 + "," + kanri;  //選択肢1の時は管理者にもメールを送信する
}else if(FORMDATA[0].getResponse() == "選択肢2"){
  bcc = mail2;
}else if(FORMDATA[0].getResponse() == "選択肢3"){
  bcc = mail3;
}else{
  bcc = mail4;
}
MailApp.sendEmail(to, subject, body, {cc: cc, bcc: bcc}); //メールを送信

今回は、このような形で作成することで、思い通りの結果にすることができました。色々と応用もできて便利です。

 

 

こちらのサイトを参考にさせていただきました。図入りでとても分かりやすかったです。どうもありがとうございました。

【保存版!】Googleフォームの質問と回答をGASで自在に取り出す方法まとめ – Yuki’s bnb blog

 

ad
ad