WEBデザインの勉強

WEB制作初心者が1から勉強するブログ。

Googleフォームに自動返信機能を付ける

Googleドライブからフォームを作成し、
フォームの編集画面に行く

f:id:mmmmofu:20161025104316p:plain

メニューから「スクリプトエディタ」を選択する

「無題のプロジェクト」を選択し、任意の名前をつけプロジェクト名を変更する

エディタ内に最初から記述してある

function myFunction(){

}

を削除し、下記の内容を記述する

function submitForm(e){
  var itemResponses = e.response.getItemResponses();
  var message = '';
  var username = '';
  var mail = '';
  for (var i = 0; i < itemResponses.length; i++) {
    var itemResponse = itemResponses[i];
    var question = itemResponse.getItem().getTitle();
    var answer = itemResponse.getResponse();
    if (question == 'お名前'){
      username = answer;
    }
    if (question == 'メールアドレス'){
      mail = answer;
    }
    message += (i + 1).toString() + '. ' + question + ': ' + answer + '\n';
  }
  var address = '自分のメールアドレスを記入';
  var title = 'アンケートフォームが送信されました';
  var content = '以下の内容でフォームが送信されました。\n\n' + message;
  GmailApp.sendEmail(address, title, content);
  var title2 = 'アンケートにご回答いただきありがとうございます';
  var content2 = username + '様\n\nこの度はアンケートにご回答いただきありがとうございます。\n\n'
    + '以下の内容が送信されました。\n\n' + message +'\n\n'
    + '※このメールはアンケートにご回答いただいた方に自動送信されます。';
  GmailApp.sendEmail(mail, title2, content2);
}

記述したら上部メニューの「リソース」から「現在のプロジェクトのトリガー」を選択し、

トリガーはイベントの発生によってスクリプトを呼び出すことができる。

「トリガーが設定されていません。今すぐ追加するにはここをクリックしてください」
というテキストをクリックする。
するとトリガーが作成されるので

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

に設定し、保存する。
「承認が必要です」のような画面が表示されるので
続行し、承認する

var address = '自分のメールアドレスを記入';

の部分は自分のメールアドレスに変更する。

GmailAppはGmailでメールを送信するためのメソッド

GmailApp.sendEmail( 送信先 , タイトル , コンテンツ );

のように記述すると自動でメールを送信してくれる

フォーム画面

f:id:mmmmofu:20161025102745p:plain

このような内容を送信した場合

フォーム送信者に送信されるメール

f:id:mmmmofu:20161025103103p:plain

自分宛に送信されるメール

f:id:mmmmofu:20161025103112p:plain

のような内容がそれぞれ送信される

参考サイト

ascii.jp