【応用編】Googleフォーム転送&返信スクリプト

2014/02/06

Google Driveを使ったフォーム作成応用編。

色々と出来ることはありますが、今回はスクリプトにフォーム送信時のスクリプトについて。

フォームの作り方は【基本編】で紹介したのでそちらを参照ください。

メール送信時スクリプト(共通手順)

1.基本的なフォームを作成後に回答先のスプレッドシートを作成します。

answer

すると、作成したフォームの下に回答保存用のスプレッドシートが追加されます。

responses

2.スクリプトを作成します。

ツール→スクリプトエディタを開きます。

モーダルウィンドウでなんやらかんやら出てきますが閉じてOK

googleappscript

転送用スクリプト設定手順

3.スクリプトの編集

編集画面にはデフォルトでfunction myFunctionとか書いてあるけど、それは消して以下コピペ。

誰でも直感的に使えるように整理してあるので変数を沢山使っていますが、プログラムとして作動しているのはe.namedValuesでシートから取得するのと、最後の行のメール送信のみです。

仕組みが分かる人はやろうと思えば1行で書けますね。

返信スクリプトが要らない場合はそのまま下記の『共通手順続き』まで。

返信用スクリプト設定手順

3.スクリプトの編集

転送メールと同様の確認メールを送信したい場合は最後の一行を

とすれば、全く同じメールがbccで送られる。(CCとReplyToも追加可能)

自分をBCCにしたい場合はvar to = のアドレスと入れ替えればOK

まったく別の内容で送信したい場合は色々書き換えることもできますが新しいスクリプトを追加したほうが楽でしょう。

なので殆どの手順は先ほどと同じですがスクリプトに以下のように記述します。

コピペしてスプレッドシートのカラム名だけ変更すればそのまま使用可能。

入力内容&本文の前に○○様という宛名が設定可能。

先ほど同様CCやBCCも追加可能。

色々な処理などが追加されていますが、基本は最初のスクリプトと同様変数を辿って行けばsendEmailに情報を挿入しているだけです。

共通手順続き

4.トリガーの設定

スクリプトが書き終わったらリソース→Current Project Trigger→新しいトリガーを追加

「起動時」になっている右側のドロップメニューを「フォーム送信時」に切り替えます。

trigger

あとは認証云々と言うのが出てきたら全部OKすれば完了

何も間違っていなければフォームから送信した内容が送信先に設定したメールアドレスに送信されているはずです。

ちょっとしたイベントのコンタクトフォームとかに使えますね。

デメリットとしては入力した内容が確認できずに送信されてしまう点ですがフォームのソースを覗いてPHPを応用すればJavascriptやPHPでもより詳細なバリデーションや送信前の確認なども出来ます。

それについては近いうちに(忘れないうちに)紹介したいと思います。

※この記事は前ブログの記事に加筆・修正したものになります。