お仕事おつにゃッス🐈
文系未経験から社内SEになった、あっきょ(@daily_code_JP)です!
Google フォームから来た回答後、確認メールを自動送信したら便利ですよね?
この記事ではそのお悩みを、コピペOKのGoogle Apps Scriptのコードで解決します。

- アンケートを受け取ったら自動でお客様にメールを返信したい
- 手作業で一から確認のメールを送信して、ミスが出てくることが怖い
- プログラミングでJavaScriptを学んだけど、何を作っていいかわからない
誰でも無料で簡単にできますので、お気軽に学んでいきましょう!
タップできる目次
アンケート後にメールを送信するイメージ

回答者がGoogle フォームでアンケートに答えたら、自動でお礼のメールを送信するアプリを作成します。
あなたは多数のお客様にアンケートを送り、お礼をかねて回答の確認メールを送信します。
しかし、数百人以上にメールを送ると多大な労力と時間がかかります。
また、送信漏れのミスが発生しやすくなります。
したがって、自動で送信するアプリを開発することで人的ミスや不安をすべて取り除きます。
メールを自動返信する準備
GASでフォームに回答後、自動でメールを送信する準備をします。ファイルは2つ必要です。
必要なファイル
- Google フォーム ・・・ アンケートの作成
- Google スプレッドシート ・・・ 回答者の情報を保存&コードの貼り付け
Google フォームの作成
Google フォームでアンケートを作成します。
アンケートの作成方法がわかるなら、記事を飛ばしてサンプルコードを確認しましょう。
この記事では、「名前」と「質問」の2項目を設定します。

マウスカーソルを「設定」に合わせてクリックします。

「回答」をクリックします。

「メールアドレスを収集する」にチェックを入れます。Google フォームの設定は以上です。

Googleフォームには他にも回答方法がたくさんあります。
アンケートの詳しい作成方法についてはこちらから。
-
【2023年版】Googleフォームで基本的なアンケートの作り方
続きを見る
スプレッドシートの作成
Google フォームと連携したGoogle スプレッドシートを作成します。
「回答」を選択して緑色の十字マークをクリックすると、回答結果を反映したスプレッドシートを自動生成します。

「新しいスプレッドシートを作成」を選択して「作成」をクリックします。

回答結果を記入したシートがすぐにできあがります。スプレッドシートの準備は以上です。

サンプルコードを貼り付ける場所
サンプルコードはGoogle スプレッドシートにコピペ。
上バーの「拡張機能」の中にある「Apps Script」をクリックしてコードを貼り付けます。

メールを自動返信するサンプルコード
Google Apps ScriptでGoogle フォームの回答を得たら自動返信するコードを紹介します。
解説の項目
- サンプルコード
- A, スプレッドシートの最終行と列を取得
- B, フォームから得た最新の回答を取得
- C, メール本文を作成して回答者に送信
サンプルコード
右上にあるマークを押すとコードのコピペが一瞬でできます。
また、文頭にアルファベットが付いているコメントごとに詳細を説明していきます。
function onFormSubmit() {
//A.スプレッドシートの最終行と列を取得
const sheet = SpreadsheetApp.getActiveSheet();
const lastRow = sheet.getLastRow();
const lastCol = sheet.getLastColumn();
//B.フォームから得た最新の回答を取得
const values = sheet.getRange(lastRow, 1,1, lastCol).getValues().flat();
const email = values[1]; //メールアドレス
const name = values[2]; //名前
const answer = values[3]; //回答
//C.メール本文を作成して回答者に送信
const subject = "ご協力ありがとうございます。";
const body = "この度はアンケートのご協力ありがとうございます。" + "\n" +
"\n" +
"【名前】\n" + name + "\n" +
"【今朝は朝食を食べましたか?】\n" + answer + "\n";
MailApp.sendEmail(email, subject, body);
}
A, スプレッドシートの最終行と列を取得
//A.スプレッドシートの最終行と列を取得
const sheet = SpreadsheetApp.getActiveSheet();
const lastRow = sheet.getLastRow();
const lastCol = sheet.getLastColumn();
作成したスプレッドシートの最終行と最終列を取得します。
いいかえると、フォームから送られた最新の回答者を選択します。
最終行と最終列を取得する2つのメソッドの詳細はこちらから。
-
【5分で解決】GASでスプレッドシートの最終行と最終列を取得
続きを見る
B, フォームから得た最新の回答を取得
//B.フォームから得た最新の回答を取得
const values = sheet.getRange(lastRow, 1,1, lastCol).getValues().flat();
const email = values[1]; //メールアドレス
const name = values[2]; //名前
const answer = values[3]; //回答
Google フォームから得た最新の回答を取得します。
先ほど取得した行と列の番号をもとにセルの値を二次元配列で取り出し、配列内の要素を抽出しやすいようにします。
二次元配列を一次元配列に変換するflatメソッドの詳細はこちら。
-
【初心者必須】GASで二次元配列を一次元化するflatメソッド
続きを見る
C, メール本文を作成して回答者に送信
//C.メール本文を作成して回答者に送信
const subject = "ご協力ありがとうございます。";
const body = "この度はアンケートのご協力ありがとうございます。" + "\n" +
"\n" +
"【名前】\n" + name + "\n" +
"【今朝は朝食を食べましたか?】\n" + answer + "\n";
MailApp.sendEmail(email, subject, body);
メールの本文を作成した後に回答者にメールを送信します。
定数subjectでメールのタイトル、定数bodyでメールの本文を作って引数に入れて送信します。
サンプルコードの説明は以上です。
トリガーを作成
回答を受け取ったタイミングでコードを実行するトリガーを作成します。
この設定で、メールを自動で返信できるようになります。
トリガーの設定
Apps Scriptの左画面のメニュー欄の時計アイコンの「トリガー」を選択します。

画面の右下にある「トリガーの追加」をクリックします。

「イベントの種類を選択」の「フォーム送信時」を選びます。
選択後、右下の「保存」をクリックします。トリガーの設定は以上です。

「このアプリはGoogleで確認されていません」と表示した場合はこちら。
-
【3分で解決】GASの「このアプリはGoogleで確認されていません」を許可する方法
続きを見る
アンケートからメールを送るテスト
実際にフォームに回答してメールが届くかテストします。
作成したアンケートに回答を記入して送信します。
メールアドレスには、あなたが所有しているアドレスを記入します。

アンケートに答えて完了画面が現れると回答は完了します。

受信ボックスを確認し、メールが届いていたら成功です。

【便利】業務効率化できるGASのコード一覧
この記事では、GASでフォーム回答後にメールを自動返信する方法を解説しました。
GASを使えばさらに便利で残業を減らせるコードを作成できます。
当サイトでは、メールの自動送信や便利ツールを開発しているのでぜひご活用ください。
もちろん、無料でコピペOKです!
-
【簡単】GASで時間を予約してメールを一斉送信する方法
続きを見る
-
【残業2割減】GASでBCCかCCでメールを送信
続きを見る
-
【残業3割減】GASでメールの一斉送信を自動化
続きを見る
おわりに | GASでスキルアップを目指すには
以上、GASでGoogle フォームの回答時にメールを自動送信する方法でした。
そのままコピペして日常業務で使いやすいように改修したり、プログラミングの練習や動作確認用に使ってみましょう。
GASでさらに業務効率化する場合、参考書やプログラミングスクールを使うとあなた自身でアプリを作るスキルが身に付きます。
GASユーザーのあっきょがおすすめの勉強方法はこちら↓

次回の記事もご期待ください!