PR

初心者でも分かる!Google フォームで自動返信を設定する方法:スクリプト付き

初心者でも分かる!Google フォームで自動返信を設定する方法:スクリプト付き Google フォーム
記事内に広告が含まれています。

Google フォームは、アンケートや申し込みフォームとして広く利用されていますが、回答者に自動で返信メールを送る機能を追加して、さらに便利に利用することもできます。

この記事では、Google Apps Script (GAS) を使用して、Google フォームに自動返信機能を追加する方法を詳しく解説します。

自動返信の仕組み

この記事では、Google フォームの自動返信を、以下の流れで動作するように設定していきます。

  1. ユーザーがフォームに回答を送信
  2. 回答データをスプレッドシートに記録
  3. Google Apps Script が新しい回答を検知
  4. スクリプトが回答内容を取得し、メールを作成
  5. 回答者のメールアドレスに自動返信メールを送信

また、この流れでGoogle フォームの自動返信を動作させるために、

  • Google フォーム
  • 回答を記録するスプレッドシート
  • Google Apps Script エディタ

を使用します。

サンプルデータの準備

Google フォームの準備

まず、ユーザーに質問回答してもらうためのGoogleフォームを作成します。

ここでは、サンプルのGoogleフォームとして、下記の質問を記載したフォームを用意します。

【お問い合わせ】

Q1. お名前をご記入ください。(記述式)
回答例: 山田太郎

Q2. お問い合わせ種別(プルダウン)

  • 製品について
  • サービスについて
  • 技術サポート
  • 返品・交換
  • その他

Q3. お問い合わせ内容 (段落)

実際にGoogleフォームを作成すると、このようになります。

Googleフォームのお問い合わせのサンプル画像

スプレッドシートの準備

次に、ユーザーの回答を記録するためのスプレッドシートを準備し、Googleフォームと連携します。

Google フォームとスプレッドシートの連携手順については、こちらをご覧ください。


また、今回はメールで回答者に自動返信する機能を作成したいため、スプレッドシートに記録するデータにメールアドレスを追加します。

まず、Googleフォームの編集画面を開き、画面上部の「設定」タブをクリックします。

「設定」タブをクリックうする

そして、「回答」セクションの「メールアドレスを収集する」オプションで、「確認済み」もしくは「回答者からの入力」を選択します。

「回答」セクションの「メールアドレスを収集する」オプションで、「確認済み」もしくは「回答者からの入力」を選択

「確認済み」を選択すると、回答者がログインしているGmailアドレスが自動的に記録されます。

「回答者からの入力」を選択すると、回答者が入力したメールアドレスが記録されます。


回答を記録するスプレッドシートに戻ると、「メールアドレス」の列が最終列に追加されたことを確認できます。

「メールアドレス」の列が最終列に追加されたことを確認

自動返信スクリプトの実装

まず、スプレッドシートのメニューバーの「拡張機能」を左クリックし、「Apps Script」を選択します。

「Apps Script」を選択すると、スクリプトエディタが新しいタブで開きます

「Apps Script」を左クリックする

デフォルトで作成されているmyFunction()を削除し、空のエディタにします。

GASエディタからmyFunction()を削除

次に、Google フォームの回答に自動返信するスクリプトを作成します。

スクリプトエディタに、以下のスクリプトをコピーして貼り付け、プロジェクトを保存します。

サンプルコード

function onFormSubmit(e) {
  // フォーム送信時に実行される関数
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  var lastRow = sheet.getLastRow();
  // スプレッドシートの最終行のデータを取得し、配列として格納
  var data = sheet.getRange(lastRow, 1, 1, 5).getValues()[0];
  
  var timestamp = data[0];
  var name = data[1];
  var inquiryType = data[2];
  var content = data[3];
  var email = data[4];
  
  // 自動返信メールの内容を作成
  var subject = "お問い合わせありがとうございます";
  var body = name + " 様\n\n";
  body += "お問い合わせいただき、ありがとうございます。\n";
  body += "以下の内容で承りました:\n\n";
  body += "お問い合わせ種別: " + inquiryType + "\n";
  body += "お問い合わせ内容: " + content + "\n\n";
  body += "担当者より順次ご連絡いたしますので、今しばらくお待ちください。\n";
  body += "\n株式会社サンプル";
  
  // メールを送信
  MailApp.sendEmail(email, subject, body);
}

そして、スクリプトを自動実行するには、トリガーの設定が必要です。

Google Apps Scriptエディタの左側のメニューから「トリガー」を選択し、トリガーの設定画面を開きます。

トリガー設定を開く

トリガーの設定画面が開いたら、右下の「トリガーを追加」ボタンをクリックします。

「トリガーを追加」ボタンをクリックする


「トリガーを追加」ダイアログが表示されたら、以下の設定を行います。

  • 実行する関数を選択: onFormSubmit
  • 実行するデプロイを選択: 「Head」
  • イベントのソースを選択: 「スプレッドシートから」
  • イベントの種類を選択: 「フォーム送信時」

必要に応じて、他のオプション(エラー通知の設定)も設定します。

設定できたら、「保存」をクリックしてトリガーを作成します。

トリガーを保存する


初めて保存する際には、スクリプトに対する権限の承認が求められる場合がありますので、アカウントを選択して、承認してください。

「このアプリは Google で確認されていません」と表示された場合は左下の詳細をクリックすると、「無題のプロジェクト(安全ではないページ)に移動」というリンクが表示されます。
このリンクをクリックすると次のページへ遷移できます。

「無題のプロジェクト(安全ではないページ)に移動」を左クリック

最後に、トリガー設定を確認します。

「トリガー」の設定画面を開くと、

  • イベント:スプレッドシートから – フォーム送信時
  • 関数:onFormSubmit

というトリガーが追加されていることが確認できます。

トリガー設定を確認

スクリプトの実行と実行結果

最後に、Googleフォームに回答して、スクリプトが正しく実行されることを確認します。

今回はサンプルデータとして、下記2件のデータをGoogleフォームに入力して回答を送信します。

メールアドレスQ1. お名前をご記入ください。Q2. お問い合わせ種別Q3. お問い合わせ内容
taro.yamada@example.com山田太郎製品について新製品の発売日はいつ頃になりますか?
hanako.suzuki@example.com鈴木花子技術サポートパスワードを忘れてしまいました。リセット方法を教えてください。
サンプルのGoogleフォームの回答例

Googleフォームの回答を送信すると、スクリプトが実行され、自動で返信メールが送信されます。

そこで、正常にスクリプトが実行されたことを確認していきます。

まず、スプレッドシートにGoogleフォームの回答内容が記録されているかを確認します。

Googleフォームの回答をスプレッドシートで確認
返信メールが送信済みになっていることを確認

そして、返信メールの本文が想定していた内容になっていることを確認します。

返信メールの本文を確認

以上の手順で、自動返信スクリプトが正常に動作することを確認できます。

実際にテスト送信を行い、指定したメールアドレスに自動返信メールが届くかどうかを確認することをおすすめします。

まとめ

Google フォームとスプレッドシートの連携、そして自動返信スクリプトの実装により、効率的で迅速に回答者とコミュニケーションをとることができます。

ぜひ、ご自分のGoogleフォームにも実装してみてください。

コメント

タイトルとURLをコピーしました