仕事

【コピペで完了】Googleフォーム自動返信をGASで自作して楽をする方法(※複数ログインはエラーになるよ)

tonoyashikikamado

どうも、それなりに必死に生きているぶんけです。

ブログや仕事でGoogleフォームを設置しているみなさん、届いたメッセージや研修会の申し込みに、いちいち手動で「受け付けました」ってメールを返していませんか?…それ、人生の貴重な時間をめちゃくちゃ消耗しています。

「自動返信アドオンを使えばいいじゃん」と思ったそこのあなた。無料版のアドオンは「1日〇件まで」みたいな制限があって、ちょっとアクセスが増えるとすぐ止まります。かといって課金するのは癪ですよね。

実は、当方の実際の現場(国や都道府県の補助金事業などの研修会受付フォームなど)でもガッツリ運用されていて、実績抜群の最強の解決策があります。それが「GAS(Google Apps Script)を使った自動返信の自作」です。

コピペで動くコードはもちろん、「なぜか動かない!」と頭を抱えたときのチェックポイントや、後からフォームを修正したときの更新手順まで、脳のメモリを消費しないようにわかりやすく解説します。

サクッと設定して、自動化の恩恵に預かりましょう。

Googleフォームの自動返信は「GAS」なら無料でやりたい放題

まず結論から言うと、GoogleフォームはGAS(ガス)を使えば、完全無料で自動返信化できます。

「プログラミングとか無理、脳が拒絶反応を起こす」という方もご安心を。後述するコードをそのまま貼り付けるだけです。

なぜアドオンではなくGASなのか?

  • 完全無料: 追加料金は1円もかかりません。
  • 無料なのに大容量: Googleの仕様上、無料の一般アカウントでも1日100通まで自動返信が可能です。(※もし大規模な研修会やイベントで「1日100通じゃ足りない!」という場合は、有償のGoogle Workspaceアカウントを使えば1日1,500通まで上限が跳ね上がります)

個人ブログや一般的な事務の範囲なら、無料枠の1日100通で十分すぎるほど生き延びられます。

★★初めて設定する時の手順★★

では、最短ルートで説明します。

手順① 自動返信メールを設定したいGoogleフォームを作成

新規で用意しても、すでに使っている既存のフォームを利用しても問題ありません。

【フォームの項目例】

  • 氏名
  • メールアドレス
  • お問い合わせ内容(選択式)
  • お問い合わせ内容の詳細(自由記述)

【超重要】 自動返信メールを送るためには、回答者のメールアドレスを取得する項目を設置し、必ず「必須」タブをオンにしてください。アドレスが正しく収集できないと、GASがどこにメールを送ればいいかわからず迷子になります。

※その他の項目は、用途に合わせて追加したり差し替えたりして構いません。

手順② Googleフォームと連携したスプレッドシートを作成する

今回はフォームから直接ではなく、データが蓄積される「スプレッドシート」側からGASを起動させます。この方が管理が楽だからです。

  1. Googleフォームの編集画面にある「回答」タブを開く。
  2. 「スプレッドシートにリンク」をクリック。
  1. 「新しいスプレッドシートを作成」にチェックを入れ、「作成」をクリック。

これで、フォームの回答が自動で転記されるスプレッドシートが立ち上がります。

🚨 ここで超重要なお告げ(罠の回避) Googleアカウントに複数同時ログインしている場合(仕事用とプライベート用など)、Googleの仕様上のバグでこの先の工程がうまくいかないケースが多発します。 消耗する前に、ブラウザを「シークレットモード」で開き、対象のアカウント1つだけにログインした状態で作業を進めることを強くおすすめします。

手順③ 自動返信メールのスクリプトを記述する

いよいよGASの出番です。心の準備はいいですか?(貼り付けるだけですが)

  1. スプレッドシートの画面上部メニューにある「拡張機能」 > 「Apps Script」をクリック。
  1. 「コード.gs」という編集画面が開くので、最初から入っているテキストをすべて削除する。
  1. 以下のスクリプトをそのままコピーして貼り付ける。

JavaScript

function ReplyEmail(e) {
  // スプレッドシートの1行目のタイトル(質問名)から回答内容を取得
  const name = e.namedValues['氏名'][0];
  const email = e.namedValues['メールアドレス'][0];
  const inquiry = e.namedValues['お問い合わせ内容'][0];
  const details = e.namedValues['お問い合わせ内容の詳細'][0];
  
  // メールの件名
  const subject = 'お問い合わせを受け付けました';
 
  // メールの本文(※「\n」は改行コードです)
  const body = name + 'さま\n\n'
  
  + 'お問い合わせありがとうございます。\n'
  + '以下の内容で回答を受け付けました。\n\n'
  
  + '----------------------------------\n'
  + '氏名:' + name + '\n'
  + 'メールアドレス:' + email + '\n'
  + 'お問い合わせ内容:' + inquiry + '\n'
  + 'お問い合わせ内容の詳細:' + details + '\n'
  + '----------------------------------\n\n'
  
  + '2営業日以内に、お問い合わせ内容の返信をお送りいたしますので、今しばらくお待ちください。\n\n'
  
  + '〇〇株式会社\n'
  + 'カスタマーサポート部';
 
  // メールを送信する
  MailApp.sendEmail({
    to: email,
    subject: subject,
    body: body
  });
}
  1. 貼り付けたら、画面上部にある「保存(フロッピーディスクのアイコン)」をクリック。

💡 スクリプトを自分好みに改造したいとき

  • 質問項目を増やしたい: たとえばフォームに「電話番号」を増やした場合、コードの冒頭に const tel = e.namedValues['電話番号'][0]; を追記します。
  • 【超・超重要!】: ['氏名']['メールアドレス'] といった部分は、スプレッドシートの1行目(=Googleフォームの質問名)と一言一句スペースまで完全一致させてください。半角・全角のズレ、不要な空白が1つあるだけで「そんな項目ないよ」とGASがヘソを曲げてエラーになります。
  • 文章の改行: メールの本文中で改行したいときは、必ず文末に \n を入れます。スクリプトの見た目上で改行しても、実際のメールでは改行されないので注意。テキスト同士や変数(name など)を繋ぐときは + で連結します。

手順④ メールの送信設定(トリガー)を行う

コードを書いただけでは動きません。「フォームが送信されたら、このコードを自動で実行してね」というトリガーを設定します。

  1. Apps Script画面の左側メニューにある「時計アイコン(トリガー)」をクリック。
  1. 右下の「トリガーを追加」をクリック。
  1. 以下のように設定します:
  1. 実行する関数を選択:ReplyEmail
  2. イベントのソースを選択:スプレッドシートから(※今回はスプレッドシートと連携しているため)
  3. イベントの種類を選択:フォーム送信時
  4. 「保存」をクリック。

※初回保存時に「承認が必要です」と怖い警告が出ますが、あなたが作ったプログラムなので安全です。「詳細」>「〇〇(安全ではないページ)に移動」をクリックし、アクセスを許可してください。

手順⑤ 動作テストを行う

設定が完了したら、自分で実際にフォームに回答を入力して送信してみてください。

  • 自分のメールアドレス宛に自動返信が届くか?
  • メール本文の文字化けや、改行の崩れがないか?

をチェックします。

もしメールが届かない・エラーになるときは? 送信エラーが発生した場合、フォームを管理しているGoogleアカウントのGmail宛にエラー通知メール(Delivery Status Notificationなど)が届いているはずです。そこを確認しましょう。

どうしてもスクリプトのエラーが解決しないときは、すでに稼働実績のある別の事業の生き残っているフォームがあれあ、そのスクリプトをそのままコピペさせて貰うのが一番消耗しません。成功者の真似をしましょう。

★★すでに構築されているフォームを更新・修正する場合★★

「運用が始まってから、フォームの質問項目を増やすことになった」というケースもよくあります。そんな時も慌てて消耗する必要はありません。

手順① Googleフォームを修正する

通常通り、フォームに新しい質問を追加したり、テキストを修正したりします。 (※ここでもメールアドレスの項目&必須チェックが外れていないかは要確認です)

手順③ (※シート連携のため手順③へジャンプ)スクリプトを更新する

フォームの質問名を変えたり増やしたりしたら、GAS側のコードも合わせて更新しないとエラーになります。

  1. 連携しているスプレッドシートの「拡張機能」 > 「Apps Script」を開く。
  2. コード内の「回答内容を取得」している部分(前述のコードの冒頭部分)を、修正した項目名に合わせて書き換えます。

【ここでも一言一句注意!】 フォーム側で「お名前 」(後ろに半角スペースがある)にして、GAS側で ['お名前'](スペースなし)にすると連動しません。半角・全角・空白には細心の注意を払ってください。

  1. メールの本文(body)にも、新しく取得した変数(例:+ '電話番号:' + tel + '\n')を追加します。
  2. 画面上部の「保存」をクリック。
  3. 再び手順⑤の動作テストを行い、エラーなく新しい項目が含まれたメールが届くか確認すれば完了です!

自動返信メールを「ただの確認」で終わらせない技

自動返信メールは、「開封率がほぼ100%」という最強のメディアです。ただの「承りました」で終わらせるのは非常にもったいない。

メールの本文(body の最後の方)に、以下のような一言を添えてみてください。

【メール本文への追加例】

追伸: 返信をお待ちいただく間の暇つぶしに、当ブログで一番読まれている「〇〇の仕事効率化テクニック」の記事でも眺めてみてください。少しだけ作業が楽になるかもしれません。 [【コピペで完了】フォルダ構成・階層だけをコピーする方法!中身のデータは不要な人へ]

お問い合わせや申し込みをしてきた読者は、すでにあなた(またはあなたの組織)に強い関心を持っています。そこに「おすすめ記事」や「関連するお知らせ」を置いておけば、高確率でクリックされます。これがPVを賢く伸ばすコツです。

まとめ:仕組み化できるものはGASに任せて、ダラダラしよう

  • Googleフォームの自動返信はGASを使えば完全無料
  • 無料アカウントでも1日100通まで送信可能(大規模ならWorkspace検討)
  • 設定&更新時はシークレットモードを使わないとアカウント競合でバグる
  • 質問名とコード内の記述は一言一句(全角半角スペースまで)一致させる
  • 自動返信メールにブログのURLを貼って賢くPVアップ

手動のメール返しという「無駄な消耗」を徹底的に排除すれば、もっと有意義なことに時間を使えます。一度設定してしまえば、あとはシステムが勝手に働いてくれます。

仕組み化できるものはシステムに任せて、それなりに楽に生き延びましょう。

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


ABOUT ME
ぶんけ
ぶんけ
事務 兼 農業見習い
1995年生まれ。地方公立大学卒業。 田舎で分家に住む文系。 事務職をしながら実家の農業を手伝っている自称効率厨。基本的に上昇志向。業務能力は低空飛行。 愛車はランドクルーザー70とスズキのバイクGN125h。 テーマや内容を項目して、AIに加筆修正してもらって記事化してます。
記事URLをコピーしました