Googleフォームで回答すると自動メールが届きますよね。
今回はその自動メール通知の内容をGoogleAppsScript(GAS)で変更したいと思います。
GoogleAppsScript(GAS)はプログラム言語の1つで、難しそうに聞こえますが、プログラミング未経験の人でも出来るようにわかりやすく解説します。
今回したいことは、こんな感じです。
①Googleフォームに回答を送信
②回答内容を特定のメアドにメール通知する
それでは始めましょう!
目次
Googleフォームのメール通知内容をGoogleAppsScript(GAS)で変更する方法!
まずはGoogleフォームを作っておいてくださいね。
それを前提にして解説を始めます。
①②右上の三点リーダーの「スクリプトエディタ」をクリック
③「コード.gs」の部分に、下記のコードを貼りつける
function sendform(e){
var items = e.response.getItemResponses();
var msg = 'Googleフォームに回答がありました。\n';
msg += '━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n'
for (var i = 0; i < items.length; i++) {
var item = items[i];
var question = item.getItem().getTitle();
var answer = item.getResponse();
msg += question + ': ' + answer + '\n\n';
}
msg += '━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n'
GmailApp.sendEmail('xxxx@gmail.com', 'Googleフォームに回答がありました', msg);
}
④⑤「コード.gs」の部分に、下記のコードを貼りつける
⑥「フォーム送信時」に変更して「保存」をクリック
※トリガー保存時に「このアプリはGoogleで確認されていません」というエラーが出た場合は、次の章で対処法を解説しています。
⑦トリガーができていることを確認
これで設定は完了です!
GoogleAppsScript(GAS)のトリガー保存時に「このアプリはGoogleで確認されていません」と表示された場合の対処法
GoogleAppsScript(GAS)のトリガー保存時に「このアプリはGoogleで確認されていません」と表示されることがあります。
このエラーになった場合の対処法を解説しますね。
①「詳細」をクリック
②「test(安全ではないページ)に移動」をクリック
③「許可」をクリック
この操作を行えば、「このアプリはGoogleで確認されていません」というエラーは表示されなくなりますので、ご安心を。
GoogleAppsScript(GAS)のコード解説
今回はGoogleフォームに回答があった場合の通知メールの内容を、こちらのようなコードで書きました。
function sendform(e){
var items = e.response.getItemResponses();
var msg = 'Googleフォームに回答がありました。\n';
msg += '━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n'
for (var i = 0; i < items.length; i++) {
var item = items[i];
var question = item.getItem().getTitle();
var answer = item.getResponse();
msg += question + ': ' + answer + '\n\n';
}
msg += '━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n'
GmailApp.sendEmail('xxxx@gmail.com', 'Googleフォームに回答がありました', msg);
}
かんたんにコードを解説しておきますね。
var msg = 'Googleフォームに回答がありました。\n';
この「msg」という変数は、メール本文の内容となります。
msg += '━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n'
「+=」で「msg」という変数に内容を追加することができます。
プログラムの世界で「=」は代入となりますので、前に設定した「msg」の値は上書きされてしまいますので、ご注意を。
また「\n」は改行を表す文字コードととなります。
「\n\n」とすると1行の空行ができます。
var question = item.getItem().getTitle();
var answer = item.getResponse();
「question」という変数にはGoogleフォームで設定した質問文が、「answer」にはGoogleフォームで回答した内容が設定されています。
GmailApp.sendEmail('xxxx@gmail.com', 'Googleフォームに回答がありました', msg);
上のコードはメール送信をしています。
'xxxx@gmail.com'の部分はメールを送信したいメアドを、'Googleフォームに回答がありました'にはメールタイトルを設定してください。
まとめ
いかがでしたか?
Googleフォームのメール通知内容を変えるのは意外とかんたんなことが分かっていただけたら嬉しいです。
また別記事の「【5分で出来る】Googleフォームのメール通知を複数メアドに送信する方法」で
・自分のメールアドレスにGoogleフォームに回答があったことが知りたい
・お客様のメールアドレスに自動返信メールを送信したい
を実現する方法を解説していますのでチェックしてみてくださいね。
【5分で出来る】Googleフォームのメール通知を複数メアドに送信する方法