#結論
まずはGoogleフォームで登録完了メールを送信するスクリプトとか良いかと思います。
#設定手順
1.Googleフォームを用意します
2.回答データを保存するスプレッドシートを用意します。
4.作成したスプレッドシートからスクリプトエディタを開きます。
5.スクリプトを作成します。
先に記載した内容をコピペしましょう。
6.プロジェクトトリガーをセットします。
「実行」と「イベント」を設定します。
前者は関数名、後者はタイミングの設定…「スプレッドシートから」「フォーム送信時」を選びます。
7.スクリプトの実行を承認します。
スクリプトを動作させるアカウントを選択します。
Google Chromeで複数アカウントにログインしている場合は、スクリプトを実行させたいアカウントを選択しましょう。
「このアプリは確認されていません」と言った画面が出る場合は「〜〜(安全ではないページ)に移動」をクリックします。
アクセスを許可する対象を確認し「許可」をクリックします。
スクリーンショットではGmailだけですが実際はスプレッドシートも表示されます(キャプチャ取り間違えました)。
8.入力内容がメール送信されます
#サンプルスクリプト
function onFormSubmit(e) {
var recipient = e.namedValues["メールアドレス"];
var subject = "フォームへのご回答ありがとうございます";
var body = "フォームへのご回答ありがとうございます。 \n"
+ "入力いただいた内容は以下となります。 \n"
+ "\n"
+ "お名前:" + e.namedValues["お名前"] + "\n"
+ "出欠:" + e.namedValues["出欠可否"] + "\n";
GmailApp.sendEmail(recipient, subject, body);
}
解説
「初めてのGoogle Apps Script」で検索すると大体出てくる「フォーム内容自動送信スクリプト」。動きが目に見えやすい割に利用する項目が少ないので説明が楽で良いですね。
スクリプトを見ると変数が4つ(recipient
、subject
、body
、e
)、メソッドが1つ(sendEmail
)しかありません。recipient
、subject
、body
は今回の説明用にあえて宣言しただけのため、実際必要なのはe
とsendEmail
だけです。
動作としては以下の工程となります。
- Googleフォームにデータが入力されます
- データがスプレッドシートに保存されます
- 項番2をトリガーとして関数
onFormSubmit(e)
が実行されます - 関数内
GmailApp.sendEmail(recipient, subject, body)
が実行され、メールが送信されます
変数e
は「イベントオブジェクト」といい、今回の場合では「フォーム送信イベント」で入力された情報が入っています。
e.namedValues["〜〜"]
にある「〜〜」の中身はスプレッドシートの項目名を入力すれば取り出すことができます。
変数body
は"
で文字列を、+
で変数と文字列の結合を、\n
を改行を挿入しています。
つぶやき1
フォーム入力内容を変数e
で取得してメール送信、という流れは簡単ですが結構使うので便利なのですが、トリガー設定するところが分かりづらかったり面倒くさかったりするのがハードルを上げているようです。
サンプルスクリプトは単純な内容にしていますが、件名に入力者の名前を入れたり本文をいじってみるなど応用の幅は結構あるので色々試してみてください。
つぶやき2
「スクリプトやってみたい」という声をいただきとりあえず書き始めたは良いものの、今更ですがなかなかどうして人に伝えるのは難しいですね。