簡単ステップ!Googleフォームで自動返信をGASで設定する方法
Googleフォームを使ってGASで自動返信設定する方法を知りたいんだけど、何から始めればいいのかな…

猫男

catman
よし、catmanが「GASでGoogleフォームの自動返信」を設定する方法を伝授しよう!まずは基本からだ。
GoogleフォームとGASの連携の基本
Googleフォームでの入力データに対して、自動的にメールを返信したいなら、フォームとGoogleスプレッドシートを連携させ、GASでスクリプトを作成する必要がある。
フォームとスプレッドシートの連携手順
Googleフォームを作成すると、自動的にレスポンスを受け取るスプレッドシートを設定できる。フォームの設定からスプレッドシートにリンクさせよう。
スプレッドシートには、回答が自動的に反映される列が生成される。
GASで自動返信メールを設定するステップ
まずは、スプレッドシートのGASエディタを開いて、新しいスクリプトを作成しよう。これで自動返信メールの準備ができる。
function sendAutoReply(e) {
const emailAddress = e.values[1]; // フォームの2番目の質問をメールアドレスとして取得
const subject = "ご回答ありがとうございました";
const message = "あなたのご回答を受け付けました。詳細は後日ご連絡いたします。";
MailApp.sendEmail(emailAddress, subject, message);
}
ここでは、e.values[1]がフォームの入力からメールアドレスを取得し、MailApp.sendEmail()で自動返信のメールを送信する。
トリガーで自動実行を設定
スクリプトを自動で実行するためには、トリガーを設定する。
トリガーを設定する手順
スクリプトエディタの「時計アイコン」からトリガー画面にアクセスし、新しいトリガーを追加して、フォームが送信されたときにスクリプトが実行されるように設定しよう。
トリガーの種類は「フォーム送信時」で設定するのがポイントだ。
これでGoogleフォームから自動返信ができるのか!なんだか未来的だね!

猫男
練習問題
以下のスクリプトを完成させて、特定のキーワードを含む場合のみ自動返信するようにしてみよう。
function sendKeywordReply(e) {
const emailAddress = e.values[1];
const responseText = e.values[2];
const keyword = "特定のキーワード"; // ここに特定のキーワードを設定
if (responseText.includes(keyword)) {
const subject = "キーワードを含むご回答を確認しました";
const message = "<特定のキーワード>を含む回答を確認しました。";
MailApp.sendEmail(emailAddress, subject, message);
}
}
解答・解説
// 完成したスクリプトは以下の通り
function sendKeywordReply(e) {
const emailAddress = e.values[1];
const responseText = e.values[2]; // フォームの3番目に回答テキストがあると仮定
const keyword = "GAS"; // 特定のキーワードを「GAS」と設定
if (responseText.includes(keyword)) { // includes() メソッドでキーワードを探す
const subject = "GASを含むご回答を確認しました";
const message = "GASを含む回答を確認しました。ありがとうございます!"; // 発見時のメッセージ
MailApp.sendEmail(emailAddress, subject, message);
}
}
includes()メソッドを使用して、スクリプトが回答テキストに特定のキーワードを探し出すようにし、条件を満たした場合にのみMailApp.sendEmail()関数を使ってメールを送信する。