先日、仕事でGoogleフォームでお問い合わせフォームを作成し、送信先のメールアドレスを自分以外に指定する機会がありました。その時に実際に使用した方法を紹介します。
デフォルトの機能では設定できないため、Google Apps Script、GASを用いて実現させます。コードはコピペでOKなのでご安心あれ。
それではさっそく見ていきましょう。
GASを用いてGoogleフォームの送信先を指定しよう
送信先設定のおおまかな手順はテキストベースで説明すると、以下の通りです。
※試してみたいだけの方は、フォームのテンプレートを使ってサクッとフォームを作成することをおすすめします。
概要
- 送信ボタンの右にある縦三点リーダーをクリックして出てくる、「スクリプトエディタ」をクリックする(GASの画面が開かれる)
- 送信先指定用のコードを貼り付けて保存する(約20行ほど)
- 上部メニューの「編集 > 現在のプロジェクトのトリガー」をクリックする(GASの管理画面が開かれる)
- 青い「トリガーを追加」ボタンをクリックする(トリガー設定画面がモーダルで表示される)
- 「イベントの種類を選択」項目を「フォーム送信時」に変更。
- 「エラー通知設定」項目を「今すぐ通知を受け取る」に変更したら保存ボタンをクリックする
- 新しいタブでGoogleアカウントログイン画面が開かれるが、「このアプリは確認されていません」と警告が表示される。
- 慌てずに、小さい「詳細を表示」というテキストをクリックする
- 「〇〇に移動」というテキストをクリックする
- プロジェクトのアクセス許可を求められるので許可する
上記の流れで落ち着いて進めていけばOKです。
送信先指定用のGASコード
手順2でコピペしてもらうGASのコードはこちら。
※こちらの記事のコードを参考にさせていただきました。すごく分かりやすいコードをありがとうございました!
GASのコード
function sendForm(e){
// メールの件名
var subject = "〇〇についてのお問い合わせ";
// メール本文
var body = "以下の内容でお問合せがありました。";
// ☆メール送信先☆
var to = "example@gmail.com";
var itemResponses = e.response.getItemResponses();
for (var i = 0; i < itemResponses.length; i++) {
var itemResponse = itemResponses[i];
var question = itemResponse.getItem().getTitle();
var answer = itemResponse.getResponse();
// Googleフォームの質問項目
body += "\n\n■" + question + "\n\n";
// 質問に対する回答内容
body += answer;
}
MailApp.sendEmail({to:to,subject:subject, body:body});
}
今回のGoogleフォームカスタマイズのキーポイントはGASコードくらいなので、他の設定はテキストベースでも十分進められると思うので割愛させていただきます。
今回やってみて思ったのは、
「絶対多くの人に求められる機能なのに、デフォルトで用意してくれなかったんだ…Googleさんよう!」
ということです(笑)最初から使えたほうが絶対いいじゃんかよーと思うのは僕だけではないはず。まあ実際は僕が思うよりもそこまで使用されない機能なのかもしれませんね。
次はこの記事!
スプレッドシートを使うときに役立つ記事まとめ