Googleフォームで回答された際、自動返信メールを送付したい!そんな時はありませんか?
問い合わせフォームやアンケート、満足度調査など、多岐に渡る目的で使用される「Googleフォーム」ですが、そのうちの機能の1つとして、自動返信メールを送信する事が挙げられます。
実は、Googleフォームには自動返信メールを送信する方法がいくつかあるのですが、フォームに標準で付いている方法だと、自由に文章を設定できる「カスタムメッセージ」編集ができない仕様になっています。
カスタムメッセージを設定する方法は2種類あり、「アドオン」を追加する方法が1つ、もう1つが「GAS」を使ってスクリプトを作成し、設定する方法があります。
今回はGASを用いて、回答に対するカスタムメッセージ「自動返信」機能を作成していきます!是非ご覧ください。

Googleフォームで自動返信メールを送信する3つの方法
先ほども紹介した通り、Googleフォームで自動返信メールを送信するには3つの方法があります。
Googleフォーム標準の機能設定を利用する
Googleフォームの回答に対して自動返信メールを送信する方法で最も簡単なのが、このGoogleフォーム標準の機能を使用することです。
設定に専門的な知識は必要ありませんが、自動返信できるのは回答のコピーのみであり、任意のカスタムメッセージなどをつけることはできません。
アドオンを使って機能拡張する
Googleフォームの回答に対して自動返信メールを送信する2つ目の方法は、アドオンを使ってフォームに自動返信機能を拡張するといったものです。
アドオンのインストールなどの手間がかかるものの、GUI上で操作できるためとっかかりやすいのがポイントです。送信元のメールアドレスを設定できるなど、設定の拡張性も意外とあります。
GASを使って設定する
Googleフォームの回答に対して自動返信メールを送信する3つ目の方法は、GASを使って設定することです。
上記2つの方法より専門的な知識が必要ですが、このページを閲覧しているみなさんであればこの方法でやります…よね?(笑)
最もカスタマイズできる方法であり、できることの自由度がかなり広がるため、是非この機会に基礎をマスターしておきましょう。
基本的には、Googleフォームからコンテナバインド型のスクリプトを作成し、スクリプトを記述していきます。

GASを使ってGoogleフォームの「カスタムメッセージ」自動返信を実装する
それでは、GASを使って実際に回答に対して「カスタムメッセージ」を「自動返信」する方法を見ていきましょう。
Googleフォームを作成する
まずは、適当な場所でフォームを作成しておいて下さい。

フォームを作成したら、フォームタイトルや説明文を入力して、適当に作成してください。
「質問の追加」ボタンで自由に質問を追加する事ができます。テキスト、複数選択、段落テキストなど、さまざまな質問形式が利用可能です。また、「テーマ」を変更してフォームをカスタマイズしたり、「画像」を追加して視覚的な要素を取り入れたりすることができます。
Google フォームを使えば、手軽にアンケートや情報収集を行うことができます。基本の作成と設定、そして回答の集計と表示に慣れることで、効果的な情報収集が可能となります。シンプルな手順に従いながら、自分のニーズに合わせてフォームを最適化しましょう。
コンテナバインド型でスクリプトを作成
フォームが完成したら、次にコンテナバインド型でスクリプトを作成します。
コンテナバインド型についてわからない人はこちらの記事もご覧ください。


「送信」ボタンの横にある「…」から、スクリプトエディタをクリックするだけです。これで、スクリプトを書く準備が整いました。
GmailAppクラスを使ってみよう
スクリプト内で「GmailAppクラス」を利用することで、必要な情報(宛先、件名、本文など)を指定してメールを送信する事ができます。
以下は、基本的なメール送信のスクリプトの例です。
function sendEmail() {
var recipient = '送りたい宛先のメールアドレスを記入';
var subject = '件名を記入';
var body = '本文を記入';
// GmailAppクラスを使用してメールを送信
GmailApp.sendEmail(recipient, subject, body);
}送りたい宛先のメールアドレスを記入の部分を、ご自身のメールアドレスに置換して、実際にスクリプトを実行してみて下さい。「承認が必要です」と出た場合は、「権限を確認」をクリックし、指示通り権限を承認してください。

このプロジェクトを実行するには、ご利用の Google アカウントへのアクアセスを許可する必要があります。再試行して、許可してください。と警告される場合、うまく承認できていないのでもう一度実行してください。


すると、指定したメールアドレスに、先ほど指定した内容のメールが届いている事が確認できるかと思います。
このように、GmailAppクラスを使えば、容易にメールを送信する事ができるわけです。これを、Googleフォームが回答された時に実行されるようにしておけば、回答に対する自動返信ができるということです。
それでは、このスクリプトをGoogleフォームの回答に組み込んで、自動応答機能を実現していきましょう。
グーグルフォームの回答に対してメールを自動送信するスクリプトの実装
実際に回答された内容に応じてカスタムメッセージを変えたりすることもできるため、フォームの回答を取得する方法についても見ておきましょう。
そして、最終的にGmailAppクラスを使用してメールを送信します。
今回の例では、質問は以下の様に設定。そして「設定」で「メールアドレスを収集する」の項目を「確認済み」としておいてください。


設定するスクリプトは下記になります。
function sendEmailOnFormSubmit(e) {
let emailAddress = e.response.getRespondentEmail(); // 回答者のメールアドレスを取得
let response = e.response.getItemResponses()[0]; // フォームの最初の回答を取得
let question = response.getItem().getTitle(); // 質問のタイトルを取得
let answer = response.getResponse(); // 回答を取得
let subject = "フォームの記入ありがとうございました!";
let body = `
${question} の回答結果は
${answer} でした!
ありがとうございました!
`; // 任意の本文を記載(テンプレートリテラル記法)
// メールを送信
GmailApp.sendEmail(emailAddress, subject, body);
}フォーム回答時に実行される様にトリガ設定を行う
フォーム回答時にこのスクリプト(プログラム)が自動で実行される様に、「トリガ」の設定をします。
GASエディタの左メニューバーにあるトリガーのボタンをクリックし、右下のボタンから「トリガーを追加」
イベントの種類を選択の項目を「フォーム送信時」に設定して下さい。

準備ができたら、「保存」をクリックして完成です!
実際に自動返信メールが来るか確かめてみよう
それでは、作ったフォームに回答してみましょう!
自分が作ったフォームにテスト回答する場合、右上の「送信」ボタンからリンクタブをクリック、そこに共有用のURLがありますので、そちらにアクセスして回答してみて下さい。

このように、カスタムメッセージの入ったメールが自動で届きました!
これにより、フォームに回答が送信されるたびに、設定したスクリプトが自動的に実行され、メールが送信されるようになります。これで、Googleフォームに対する自動応答機能が実装されました。
もしメッセージをもっとカスタムしたい場合は、今回学んだことを基礎にして、いろいろアレンジを加えてみて下さい!
まとめ
今回は、Googleフォームの回答に対して、カスタムメッセージを自動返信するGASプログラムを作成しました。いかがだったでしょうか。
アドオンでも同じことは実現できるのですが、細かい設定や回答を利用した場合分けなど、様々な条件を施してカスタマイズできるのがGASの強みでもあります。
是非今回のポイントをしっかり覚えて、ご自身の業務や作業に活かしてみてはいかがでしょうか?


コメント