企画/仕事効率化

Googleフォームの回答を管理者にメール配信する仕組み

企業の推進担当なら多かれ少なかれ社内・お客様アンケートを実施するはずですが、今回はGoogleの仕組みを使って、アンケートをとって回答が入ったら管理者にメール送信する仕組みを紹介します。

今回の記事でできること

・Googleフォームでアンケート作成して、関係者に回答してもらう。
・Googleフォームから投稿された回答をGoogleスプレッドシートに自動記入
・回答が入ったら、Gmailに送信される

なぜGoogleの仕組みを使う?

理由は無料でできる(Gmailアカウントが必要)からです。

必要なスキルは?

Google Scriptの基本知識あればなお可
ただし、コピペでできるスクリプトを用意しますので、プログラミングの知識がなくても大丈夫!

では本題に入ります。

Googleのアンケートフォームを作る

まずGmailに入って、Googleアプリメニューを開き、Googleドライブを選択します。

Googleドライブで「新規」⇒「その他」⇒「Googleフォーム」順で選んで新しフォームを作ります。

新しいフォームを用意します。ここでフォームの作り方もありますが、今回のメインテーマではありませんので割愛します。フォームの作り方知りたい方は、コメント欄にてメッセージいただければ回答します。

これで、フォームができました。

次はフォーム回答用スプレッドシートを用意します。

フォーム作成画面で、「回答」タブを選択してください。

回答画面の右上に、小さいスプレッドシートのマークがありますのでそこをクリックしてください。

その次の画面では、シート作成をクリックして

回答用スプレッドシートが生成されます。

スプレッドシートでは、「ツール」→「スクリプトエディタ」を選択して、スクリプト編集画面を出します。

ここでは、いきなり高度なプログラミングと想像されそうですが、そうでもないです!とにかく、次の定型スクリプトをコピーして、空白に貼り付けてください。

function sendMailFromForm() {

 var subject = "アンケートが回答されました"; //件名 
 var body = "";//文面
 var message = "";//依頼内容
 var name = "";//依頼者
 var date = "";//日付

 // スプレッドシート操作、シート名指定
 var sh = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("フォームの回答 1"); 
 var rows = sh.getLastRow();
 var cols = sh.getLastColumn();
 var rg = sh.getDataRange();

 //依頼内容を取得
 for (var i = 1; i <= 4; i++ ) { // i<=の後ろの数字は列数を記入してください
 var col_name = rg.getCell(1, i).getValue(); // 項目名
 var col_value = rg.getCell(rows, i).getValue(); // 内容
 if ( col_value === "" ){col_value= "未記入";} // 記入なしの項目「未記入」と記載
 message += "【"+col_name+"】\n" + col_value + "\n\n";
 }
 
 body = "アンケートが回答されました\n"
 + "※本メールは自動配信されています。\n"
 + "詳しくは下記をご覧ください。\n-----------------------\n\n"
 + message;
 
 // メール送信先
 var admin = "XXXXXXX@gmail.com";//配信失敗通知
 var cc = "";//任意
 var bcc = "";//任意
 var reply = "";//任意
 var to = "XXXXXXX@gmail.com";//受信者(管理者)のメアド
 var from = "XXXXXXX@gmail.com";//FROMのメアド

 // メール送信
 if ( to ) { GmailApp.sendEmail(to, subject, body, { cc:cc, from:from });
 }else{ GmailApp.sendEmail(admin, "【失敗】Googleフォームにメールアドレスが指定されていません", body);}
 
 }

貼り付けたあとはこんな感じになります。

ここでスクリプトを保存します。Ctrl+S(保存)を押して、適当にプロジェクト名を付けて保存してください。

次は、スクリプトの実行するには承認が必要です。

スクリプト上の再生マークをクリックして、承認画面が表示されます。

「許可を確認」をクリックして

アカウント選択して

「許可」ボタンを押します。

で、あと少しです。

次は送信のトリガーを設定します。メニューの中の時計マークを選択します。

まんなかに表示されているリンク「トリガーが設定されていません。今すぐ追加するにはここをクリックしてください。」のリンクをクリックします。

次のトリガー(送信タイミング)の設定ですが、いろんな設定ができるのですが、今回は下記の画像のように「スプレッドシートから」「フォーム送信時」と設定してください。

これで一通り設定が完了しました。
では早速、試してみましょう!

まずフォームを開いて回答してみてください。

回答完了後、Gmailをひらいて、メールが来ているかを確認してみてください。

無事、メールが送信されていますね。

これで、フォームが回答されるたびに、自動メールが送信されますので、リアルタイムで回答把握できます。

では今回はここまで。

Googleの仕組みを利用してメール自動送信、データ自動集計などの仕組み作りをサポートしております。ご質問・ご要望がある方はこちらのフォームより気軽にご相談ください。

コメントを残す

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