はじめに
Googleフォームでお問い合わせや各種申請を受け付けた際、回答内容を反映したPDF書類(受領書・見積書・参加証など)を自動生成し、即座にメール添付返信したいケースは多くあります。
外部のアドオンや有料SaaSを使わず、Google Apps Script (GAS) のみで完全無料で完結させる実装パターンを解説します。
全体フロー
Google Form: ユーザーが回答を送信
GAS Trigger: フォーム送信時(onFormSubmit)を検知
Template Replace: Googleドキュメントのテンプレート内の {{プレースホルダー}} をフォーム回答値で置換
PDF Export: 置換後のドキュメントをPDFとして出力&Google Driveへ保存
Gmail Send: 生成したPDFを添付して回答者へ自動返信
実装手順
-
テンプレート(Googleドキュメント)の作成
PDFのベースとなるGoogleドキュメントを作成します。動的に値を挿入したい箇所に {{お名前}} のようにプレースホルダーを設定しておきます。 -
GASソースコード
以下のコードをスプレッドシートのスクリプトエディタに配置します。
はじめに
Googleフォームでお問い合わせや各種申請を受け付けた際、回答内容を反映したPDF書類(受領書・見積書・参加証など)を自動生成し、即座にメール添付返信したいケースは多くあります。
外部のアドオンや有料SaaSを使わず、Google Apps Script (GAS) のみで完全無料で完結させる実装パターンを解説します。
全体フロー
Google Form: ユーザーが回答を送信
GAS Trigger: フォーム送信時(onFormSubmit)を検知
Template Replace: Googleドキュメントのテンプレート内の {{プレースホルダー}} をフォーム回答値で置換
PDF Export: 置換後のドキュメントをPDFとして出力&Google Driveへ保存
Gmail Send: 生成したPDFを添付して回答者へ自動返信
実装手順
-
テンプレート(Googleドキュメント)の作成
PDFのベースとなるGoogleドキュメントを作成します。動的に値を挿入したい箇所に {{お名前}} のようにプレースホルダーを設定しておきます。 -
GASソースコード
以下のコードをスプレッドシートのスクリプトエディタに配置します。 -
トリガーの登録
スクリプトエディタのトリガーメニューから、イベントの源: スプレッドシートから / イベントの種類: フォーム送信時 で onFormSubmit を登録します。
ポイントと注意点
一時ファイルのクリーンアップ: ドキュメントをPDF化した後、コピーした元ドキュメント(copyFile)を setTrashed(true) で削除しておくと、Google Driveが散らかりません。
トリガーオブジェクト(e): スプレッドシートバインド型とフォームバインド型で e.response の構造が変わるため注意してください。
現場でそのまま使えるカスタマイズ済みコード・詳細マニュアル
エラーハンドリング、デザインが崩れない設定、設定用GUIを備えた即運用可能な完全版スクリプトおよび詳細な導入手順は、noteにて公開しています(B2B Tools) 。実務へ即投入したい方は併せてご活用ください。