Google Forms本来の機能としては以下のようなものがあります。当初なかった便利機能も多く入ってきています。
この標準機能だけでもかなりの事が出来ます。ただ、もう少し〇〇したい、という場合にGASが使えます。
フォームの送信(登録)をトリガーにして、その登録内容からゴニョゴニョする場合は、以下のようにしてデータを取得します。
登録された内容は関数の引数を e として e.response で取得出来ます。ただ、これだけ書いた場合はスクリプトエディタの入力補完が機能しないので、実際は無くてもいいですが、ダミーとして FormApp.getActiveForm()からはじめるように書いてあります。
上記スクリプトで今登録された問いと答えが取得出来るので、そこから次のアクションにつなげることが出来ます。
なお、答えのデータ型はObjectになっており、記述式のものや単一のものはテキストで取得されますが、チェックボックスでは配列 [ "りんご", "ぶどう", "キウイ" ] のように取得されるので注意してください。
トリガーの登録についてはトリガーの設定をご覧ください。
フォームの送信(登録)をトリガーにして、その登録内容から会員証を作成し、メールで送信するスクリプトです。
以上の流れで以下のスクリプトを書いてみました。
配列データは for より配列用のメソッドのforEach等も使えるのですが、その場合入力補完機能がうまく動かないのでつい forを使ってしまいます。
今回は会員証なのでスライドを雛形にしていますが、申し込み書の控えや確認書等の場合はドキュメントを雛形として使えます。スプレッドシートはシートに分かれているために印刷(PDF化)が簡単ではなく、getAs()を使ったPDF書き出しが出来ないです。こちらのようにダウンロードリンクから書き出したり、Drive APIのFile を使って変換するなどの工夫が必要です。