企業の推進担当なら多かれ少なかれ社内・お客様アンケートを実施するはずですが、今回は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の仕組みを利用してメール自動送信、データ自動集計などの仕組み作りをサポートしております。ご質問・ご要望がある方はこちらのフォームより気軽にご相談ください。