Now Loading...

なんでも試してみる

Googleフォームのサンプル数を定期的にメールで通知する

Googleフォームでアンケートを配信する業務があり、どのくらいサンプルが集まっているか急遽聞かれることが多々あります。

その度いちいちGoogleドライブ開いて該当のフォーム開いて確認するのも面倒なので、定期的にサンプル数が確認できるようにしました。

f:id:nowloadingjp:20160127173146p:plain

Googleフォームは2015年の後半にバージョンアップしてて、フォームのファイル上で質問の編集・回答数(及び集計データ)の確認ができるようになっています。

それ以前は、フォームに回答が送信されるとフォームに紐付けられたスプレッドシートが作成され、回答が逐一追加されていくシステムでした。

今回の通知システムはスプレッドシートを使用してGASのコードを記入するので、新しいバージョンのフォームを使用する場合は予めスプレッドシートも作成しておきます。

f:id:nowloadingjp:20160127182331p:plain

このスプレッドシートアイコンをクリックしたら、フォームに紐付いたスプレッドシートが作成されます。

f:id:nowloadingjp:20160127181106p:plain


スプレッドシートを開いたら、
ツールスクリプトエディタ を開いて、
下のコードを挿入

function myFunction() {
var sheet = SpreadsheetApp.getActiveSpreadsheet();
var objSheet = sheet.getActiveSheet();
MailApp.sendEmail(
"メールアドレス", //送信先
(objSheet.getName()) , //タイトル
'回答数は' + [(sheet.getLastRow())-1] + '件です。' //本文
);
}

トリガーは1時間毎に設定し、自分宛にメールを送信しています。
スプレッドシートの1列目はフォームの質問項目が入るため、回答数を"アクティブな行数-1"に設定。(本文の箇所)

これで無事に1時間毎に通知がくるようになりました!

条件分岐で「100件を越えたら通知」や「1日でサンプル数30件未満のときに通知」なども設定したいところですが、全然プログラミングがわからないので今のところはここまで。

できると嬉しいこと
・メール本文中にフォームURLを貼り付ける
・メール通知の期間を決める(1週間で通知をやめたい)
・1日のサンプル数が30件未満のときはアラート通知
・上記メールの送付先をそれぞれ振り分け

これから少しずつ覚えていこうと思います。