カスタマイズ

Googleフォームの自動返信をスプレッドシートで実装しよう

Googleフォームの自動返信機能をスプレッドシートを使って行う設定を紹介します。

前回紹介したアドオンで設定する方法より複雑ですが、お客様にとってはスプレッドシートで設定した方が印象がいいと思いますので今回紹介する設定はオススメです。

作業は手順通りに行えば動作するのでチャレンジしてみてね。

Googleフォームが出来ている状態からの説明なのでまだの方は下記ページを参考にGoogleフォームを作って下さい。

Googleフォームを使って簡単にブログのメールフォームページを作ろう
Googleフォームを使って簡単にブログのメールフォームページを作ろうブログを運営している以上はお問い合わせページは必須項目なのでGoogleフォームを使ってお問い合わせページを作ってみました。 メー...

スプレッドシートの設定方法

フォームが作り終わったら次はスプレッドシートを作成します。作り方は簡単。

[1]スプレッドシートをつくる

フォームの上に表示されている「回答」をクリックしてからスプレッドシートのアイコンをクリックして下さい。

Googleフォームスプレッドシート
  1. 回答をクリック
  2. スプレッドシートのアイコンをクリック

次に選択する画面になるので新しいスプレッドシートを作成を選択して作成します。

Googleフォームスプレッドシート
  1. 新しいスプレッドシートを作成(ファイル名は何でもいいです)
  2. 作成ボタンを押す

[2]スプレッドシートの設定

スプレッドシートが立ち上がるので設定を行います。

Googleフォームスプレッドシートの設定
  1. メニューのツールを選択
  2. スクリプトエディタをクリック

スクリプトエディタが立ち上がるので下記コードをコピーして貼り付けて下さい。

Googleフォームスプレッドシートの設定

最初にコードが表示されていますが、必要ないので削除して下のコードを貼り付けてね

function auto_reply() {
	//自動返信メールの件名
	var title = "【お問い合わせありがとうございます】"; 

	//自動返信メールの本文1(\nは改行)
	var body
	= "この度はお問合せいただきまして誠にありがとうございます。\n"
	+ "お問合せいただいた内容は次の通りです。\n"
	+ "------------------------------------------------------------\n\n"

	//自動返信メールの本文2(\nは改行)
	var body2
	= "------------------------------------------------------------\n\n"
	+ "内容を確認の上、あらためて返信させていただきます。\n";
 	+ "本メールに心当たりが無い場合は、その旨を記載の上ご返信下さいますようお願い申し上げます。\n\n";
 

 	//本文作成用の変数
	var sheet = SpreadsheetApp.getActiveSheet();
	var row = sheet.getLastRow();
	var column = sheet.getLastColumn();
	var range = sheet.getDataRange();

	//メールアドレス保存用の変数(最後のメール送信時に使用。)
	var  mail = "";

	for (var i = 1; i <= column; i++ ) {
		//スプレッドシートの入力項目名を取得
		var header = range.getCell(1, i).getValue(); 
		//スプレッドシートの入力値を取得
		var value = range.getCell(row, i).getValue();

		//本文1(body)にスプレッドシートの入力項目を追加
		body += "■"+header+"\n";
 
		//本文1(body)にフォームの入力内容を追加
		body += value + "\n\n";
 
		//スプレッドシートの入力項目が「お名前」の場合は、「様」を付け本文の前に追加
		if ( header === 'お名前' ) {
     		body = value+" 様\n\n"+body;
   		}
 
		//フォームの入力項目が「メールアドレス」の場合は、変数mailに代入
   		if ( header === 'メールアドレス' ) {
     		mail = value;
   		}
 	}
 	//本文1に本文2を追加
	body += body2;
 
	//宛名=mail、件名=title、本文=bodyで、メールを送る
	GmailApp.sendEmail(mail,title,body);
}

コード参照:https://applica.info/google-form-auto-reply

  1. タイトルは何でもいいので記入
  2. 上のタグをコピーして貼り付ける(初期に書いてあるコードは削除)
  3. ボタンをクリック(現在のプロジェクトのトリガー)

[3]トリガーの設定

トリガーの設定するページが立ち上がっていると思うので設定をしていきます。

Googleフォームトリガー設定
  1. トリガーを追加

トリガーの編集画面が出てくるので1つずつ設定していきます。

Googleフォームトリガー設定
  1. 実行する関数を選択:auto_replyを選択
  2. デプロイ時に実行:Headを選択
  3. イベントのソースを選択:スプレッドシートからを選択
  4. イベントの種類を選択:フォーム送信時を選択
  5. エラー通知設定:毎日通知を受け取るを選択
  6. 保存ボタンを押して保存

保存ボタンを押したら完了する訳ではないので注意してね。ここからセキュリティの項目が表示されます。Googleのアカウントを選択する小窓が出ますので自分のアカウントを選択して下さい。

Googleフォームトリガー設定Googleフォームトリガー設定
  1. 自分のグーグルアカウントを選択
  2. 詳細をクリック(エラーだけど気にしないでね)

エラー表示が続くけど気にしないで進んで下さい。

Googleフォームトリガー設定
  1. 無題のプロジェクト(安全でないページ)に移動をクリック
Googleフォームトリガー設定
  1. 許可をクリック

トリガーに項目が追加されれるはずです。この状態が出来ていれば設定が完了です。

トリガー設定

設定が完了したらテストメールを送ってみましょう。

[4]自動返信の結果は

メールを送ったら自動返信はこのように届きます。

自動返信メール

入力した内容も入っているので前回設置したアドオンよりも分かりやすいと思いますよ。

Googleフォームの自動返信設定では一番オススメ

前回のアドオンの設定と今回のスプレッドシートの2つ自動返信設定を試しましたが今回のやり方の方が自分で入力した内容が返信されるので分かりやすいと思います。

設定は少し手間だけど順番通りに作業すれば簡単にできるからぜひチャレンジしてみてね。