このページの本文へ

Googleフォームで自動返信システムをサクッとつくる (3/4)

2014年04月01日 11時00分更新

文●掌田津耶乃

  • この記事をはてなブックマークに追加
本文印刷

管理者に通知メールを送る

 Googleフォームでは、フォームが送信されると管理者(フォームの作成者)にメールで通知できます。Googleフォームの回答が集計されているGoogleスプレッドシートの「ツール」メニューから「通知ルール...」を選んでください。

「通知ルール...」メニューを選ぶ

 「通知ルールの設定」ダイアログでチェックボックスを以下のように設定して保存します。

  • 「ユーザーがフォームを送信したとき」をオン
  • 「メール-その都度」をオン

ここで、利用者からのフォームを受信したらメールで知らせるように設定できる

 これで、フォームが送信されるたびに管理者にメールが届くようになりました。

【GAS作成その1】自動送信メールを作ろう

 「通知ルールの設定」では、単に「フォームが送信されました」とメールが来るだけです。フォームの内容がメールで分かれば、さらに便利です。

 そんなときこそGASの出番です! 問い合わせフォームを受信したら、その内容を管理者に自動送信するプログラムをGASで作りましょう。

1.お問い合わせフォームの編集画面に戻り、「ツール」メニューから「スクリプトエディタ...」を選んでスクリプトエディタを起動します。

お問い合わせフォームの編集画面に戻り、「ツール」メニューから「スクリプトエディタ...」を選んでエディターを起動する

 2.「無題のプロジェクト」をクリックし、プロジェクト名を「お問い合わせフォーム」と入力して「OK」をクリックします。

スクリプトエディタでタイトルを設定する

3.スクリプトを記述します。エディタ内のfunction myFunction(){}を削除し、リスト1の内容を入力してください。

リスト1


function submitForm(e){
  var itemResponses = e.response.getItemResponses();
  var message = '';
  for (var i = 0; i < itemResponses.length; i++) {
    var itemResponse = itemResponses[i];
    var question = itemResponse.getItem().getTitle();
    var answer = itemResponse.getResponse();
    message += (i + 1).toString() + '. ' + question + ': ' + answer + '\n';
  }
  var address = '☆あなたのGmailアドレスを記入☆';
  var title = 'お問い合わせフォームが送信されました';
  var content = '以下の内容でフォームが送信されました。\n\n' + message;
  GmailApp.sendEmail(address, title, content);
}

スクリプトエディタに記述する

 スクリプトの中の「☆あなたのGmailアドレスを記入☆」部分にはGoogleアカウントのメールアドレスを入力します。

4. 「リソース」メニューから「現在のプロジェクトのトリガー」を選びます。トリガーは、Googleのサービスで発生したイベントによってスクリプトを自動的に呼び出す機能です(前回記事を参照)。

「現在のプロジェクトのトリガー」を選ぶ

5. ダイアログで「〜今すぐ追加するにはここをクリックしてください」をクリックしてください。

リンクをクリックする

6. ダイアログ内に新しいトリガーの設定が現れます。以下のように設定されていない場合は修正します。

  • 実行:submitForm
  • イベント:フォームから フォーム送信時

新しいトリガーを作成する

7. 「保存」ボタンをクリックして、作成したトリガーを保存します。「承認が必要です」というダイアログが現れるので「続行」ボタンをクリックします。

承認を求めるダイアログが現れる

8. 「許可のリクエスト」で「承認する」ボタンをクリックして承認しましょう。

「承認する」ボタンをクリックして承認する

この連載の記事

一覧へ

この記事の編集者は以下の記事をオススメしています