カスタマイズ

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

スプレッドシートで自動返信

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

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

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

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

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

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

フォームが作り終わったら次はスプレッドシートを作成します。手順を全て書きますので手順通りに設定すれば出来ると思います。

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

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

スプレッドシートで自動返信設定
  1. 回答をクリック
  2. スプレッドシートのアイコンをクリック

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

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

 

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

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

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

スクリプトエディタボタンを押すと「Google Apps Script」が立ち上がるはずです。

スクリプトエディタ

「Google Apps Script」が立ち上がったら下記コードをコピーして貼り付けて下さい。

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

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]トリガーの設定

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

トリガー作成

トリガーを追加ボタンをクリック

 

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

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

保存ボタンを押したら完了する訳ではないので注意して下さいね。

ここからセキュリティの項目が表示されます。Googleのアカウントを選択する小窓が出ますので自分のアカウントを選択して下さい。

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

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

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

許可をクリック

 

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

トリガー設定完了

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

 

[4]テストメール送信

設定が終わったらバグが起こっている可能性もあるので必ずテストメールを送ってみましょう。

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

自動返信メール

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

 

スプレッドシートで自動返信を設定する時の注意点

実際に設定して不便だと感じた事が2つあるので注意点として紹介します。

 

[1]送信元アドレスを変更するには別の設定が必要

テストメールを送ってはじめて気づきましたが自動返信メールの送信元は自分のGmailアドレスに自動で設定されています。

送信元アドレス

メールアドレスは表示したくなかったのですが初期設定では難しいみたいです。

変更する手順はありますが結構手間なので別記事でまとめて紹介します。設定を変更しないとGoogleフォームを作ったGmailアドレスが表示されるので注意しましょう。

 

[2]自動返信が機能しない事がある

最初に設定してから1年経過した時にテストメールを送ってみると自動返信が機能していませんでした。

メールは届いているので安心ですが自動返信だけ出来なかったんですね。

考えられる理由はこの3つ

  1. Google Apps Scriptの仕様が変わったこと
  2. Googleのセキュリティの仕様が変わったこと
  3. 私自身の設定ミス

設定ミスかもしれないですし、細かい仕様変更があったのかもしれません。

再設定したら使えるようになったので原因が分からないままですが使えなくなる可能性もあるので定期的にテストメールを送ってチェックしたほうが良さそうです。

 

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

今回はGoogleフォームの自動返信設定をスプレッドシートを使って実装する手順を紹介しました。

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

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