Googleフォームで作る無料アンケート集計システム (4/4)
2014年05月01日 11時00分更新
指定日時にアンケートを締め切る
スクリプトによる集計ができたので、今度は「指定の日時になったらアンケートを締め切り、結果を自動集計する」仕組みを作りましょう。スクリプトエディタに、さらにリスト3を追記してください。
リスト3
function setAccepting() {
var form1 = FormApp.openById('☆フォームのID☆'); //★
form1.setAcceptingResponses(false);
addUpData();
MailApp.sendEmail('☆メールアドレス☆', '【自動送信】アンケート〆切',
'※これはGASにより自動送信されたものです。\n\n'
+ ' アンケートを締め切りました。集計処理が終了しました。');
}
「フォームのID」にはアンケートフォームのID(次項を参照)、「メールアドレス」には管理者のメールアドレスを記入してください。
フォームIDの取得
フォームのIDもスプレッドシートと同様にして取り出せます。すでに作成した「セミナーアンケート」フォームを開き、「ツール」メニューから「スクリプトエディタ...」を選んでスクリプトエディタを開きます。以下のスクリプトを記述します。
リスト4
function checkId(){
Logger.log(FormApp.getActiveForm().getId());
}
「実行」メニューから「checkId」を実行すると、IDがログに出力されます。「表示」メニューから「ログ」を選んで、現れたログの表示ダイアログでIDをコピーし、利用しましょう。
トリガーの設定
「セミナーアンケート(回答)」シートにスクリプトを記述したら、そのままスクリプトエディタの「リソース」メニューの「現在のプロジェクトのトリガー」メニューを選び、イベントトリガーのダイアログを呼び出して下さい。
現れたダイアログで、「トリガーが設定されていません。……」のリンクをクリックして新しいトリガーを用意します。「setAccepting」「時間主導型」「特定の日時」を選び、その下に入力フィールドに実行する日時をテキストで記入します。例えば、2014年8月1日の午前0時に締め切るなら、「2014-08-01 00:00」となります。
「保存」ボタンで保存すれば作業完了です。指定した日時になると、自動的にアンケートを締め切り、結果を集計して、管理者に締め切りを伝えるメールを送ります。GASを利用すれば、このようにアンケートの集計作業を一気に自動化できます。
◆
次回は、Googleカレンダーを用いた宿泊予約システムを作ります。