Googleフォームの自動返信機能を追加する(後編)
こんにちは、リードスペースです。
前回はGoogleフォームの設定とその結果を集計するGoogleスプレッドシートを作りました。
Googleフォームで回答が送られるたびにGoogleスプレッドシートが自動更新されるところまで設定できましたね。
今回はGoogleスプレッドシートが更新されると、Googleフォーム作成者に更新の通知が届き、Googleフォームの回答者にも自動返信が届くスクリプトを書きます。
- Googleフォームの自動返信機能を追加する(前編)
- 【イマココ】Googleフォームの自動返信機能を追加する(後編)
Googleフォーム更新の通知を受け取る設定をする
まずは前回作った、シートを確認して見ましょう。セルの一行目に各項目名があると思います。
その下の行に、Googleフォームから送られてくる回答が追加されていきます。
ツールから通知ルールを選択します。
次の場合にメール(通常ご自身のGMAIL)に通知するの項目に「変更が入ったとき」、通知方法の項目に「メール – その都度」にもチェックを入れておきます。
これで、フォームが更新されるたびにメールで通知が来るように設定できました!
回答者に自動返信メールを送るためのGASを書く
Google Apps Scriptを使ってGoogleフォームの回答者に自動返信する設定をします。
ツールからスクリプトエディタを開きます。
スクリプトエディタにデフォルトでmyFunction()という関数が用意されてますのでここを編集していきます。
Googleスプレッドシートが更新されたら、メールが自動返信されるようにしたいので、以下のコードを使います。
Googleスプレッドシートの変更されたらデータ取得SpreadsheetApp.getActiveSheet();
行の数を取得getLastRow();
列の数を取得getLastColumn();
シートのセルのデータ取得getDataRange().getValues();
メールの送信GmailApp.sendEmail(メールアドレス, タイトル, 送る文章);
関数名をわかりやすいようにmyFunction()からautoReply()に変更し、中に次のようなコードを書いてみます。[gist d9109e6bae8ffff17435fa29f6cd29ed]
エディタの上にあるメニューのリソースから、現在のプロジェクトのトリガーをクリックします。
先ほど書いたスクリプトがどのタイミングで実行されるかを設定します。
まずはプロジェクト名を入力し、トリガーを設定します。
先ほどスクリプトで作った関数名、イベントはスプレッドシート・フォーム送信時とします。
最初はアクセス許可を求められると思うので、許可を確認をクリックします。
これで、メールが自動返信できるようになっているはずです。
メールの送信先はGmailApp.sendEmail()を追加すればいいので複数増やしたりもできます。
まとめ
Googleフォームは気軽に使えてる簡単に機能を追加したりカスタマイズできて便利ですね。
是非興味があれば、試して見てください。