ユーザーマニュアル

最終更新日: 2026年7月13日

概要

FormToPDF は Google Workspace™ 上で動作するアドオンです。

以下の流れで、スプレッドシートのデータをもとにした PDF を一括生成できます。

  1. Google フォーム™ でデータを収集する
  2. 回答が Google スプレッドシート™ に保存される
  3. アドオンのサイドバーから生成範囲を指定する
  4. Google ドキュメント™ のテンプレートにデータが差し込まれ、自動的に PDF が生成される
補足: Google フォーム™を使うのが最も簡単な方法です。ただし、すでにスプレッドシートにデータが存在する場合は、そのデータをそのまま利用することも可能です。その場合、1行目を列名(ヘッダー行)としてください。

導入手順

1. Google フォーム™の作成

スプレッドシートにデータを蓄積するため、あらかじめ Google フォーム™を作成し、回答をスプレッドシートに保存する設定にしてください。Google フォーム™の「回答」タブから、回答保存先のスプレッドシートを指定できます。

2. 画像ファイルのアクセス権設定

フォームで画像ファイルの添付を許可している場合、アップロードされた画像ファイルのアクセス権設定が重要です。

重要: フォームでアップロードされた画像が保存される Google Drive™ のフォルダに対して、「リンクを知っている全員」を閲覧者に設定してください。

最も簡単な方法は、フォームの回答保存先フォルダ(フォームの回答に添付された画像が保存されるフォルダ)に対して「リンクを知っている全員」を設定することです。これにより、FormToPDF が画像をテンプレートに埋め込めるようになります。

3. アドオンのインストールと起動

Google Workspace™ Marketplace から FormToPDF アドオンをインストールしてください。

  1. スプレッドシートを開く
  2. メニューバーの「拡張機能」→「アドオン」→「アドオンを取得」からインストール
  3. インストール後、「拡張機能」→「PDF出力」→「一括PDF生成」をクリック

詳しい起動方法は インストール後の使い方 をご参照ください。

サイドバーの使い方

サイドバーでは以下の操作が行えます。

操作ボタン

範囲指定

「開始行」と「終了行」で、PDF を生成する行の範囲を指定できます。

進捗表示

サイドバーには以下の情報がリアルタイムで表示されます。

プレースホルダー一覧

テンプレートドキュメント内に {{列名}} 形式のプレースホルダー(差し込み項目)を記述することで、スプレッドシートの各行のデータに置換できます。

列名プレースホルダー(推奨)

スプレッドシートの1行目(ヘッダー行)に定義された列名を使ってプレースホルダーを指定します。

例:スプレッドシートのヘッダー行に「氏名」「郵便番号」「住所」「備考」の列がある場合

拝啓
{{氏名}} 様

ご住所:{{住所}}
郵便番号:{{郵便番号}}

{{備考}}
敬具

列アルファベットプレースホルダー

{{A}}{{ZZ}}(1〜2文字の大文字アルファベット)で列を指定することもできます。

{{A}} 様

ご住所:{{C}}
郵便番号:{{B}}

列名と列アルファベットの優先順位

列名がたまたま AZZ の1〜2文字の大文字アルファベットと重複する場合、列アルファベットとして解釈されます。

全パラメータ一覧

パラメータ 説明
(なし) セルの値をそのまま挿入 {{氏名}}
:text 表示形式を適用した値を挿入(日付の書式など) {{日付:text}}
:image[N] N番目の画像を挿入(0始まり) {{写真:image[0]}}
:image[N]:width:xx% N番目の画像をページ幅xx%で挿入 {{写真:image[1]:width:50%}}
:qrcode セルの値をQRコード画像に変換 {{URL:qrcode}}
:qrcode:size:xx サイズ指定でQRコード画像を生成 {{URL:qrcode:size:80}}
:map:image 住所を地図画像に変換(デフォルト設定) {{住所:map:image}}
:map:image:params 任意パラメータで地図画像を取得 {{住所:map:image:zoom=13&size=400x300}}
:map:qrcode 住所をGoogle Maps検索URLのQRコードに変換 {{住所:map:qrcode}}
:map:qrcode:size:xx サイズ指定で地図QRコードを生成 {{住所:map:qrcode:size:80}}
:currency 数値を3桁カンマ区切り+「円」でフォーマット {{金額:currency}}
:currency:symbol:xx 指定記号を前置して3桁カンマ区切りでフォーマット {{金額:currency:symbol:¥}}
:wareki 日付値を和暦(元号年)形式に変換 {{日付:wareki}}
:text:wareki 表示値(文字列)をパースして和暦形式に変換 {{日付:text:wareki}}

画像プレースホルダー

画像を挿入するには {{列名:image[N]}} 形式を使用します。

{{写真:image[0]}}

画像の幅を指定する

画像の幅をページ幅に対するパーセンテージで指定するには :width:xx% パラメータを追加します。

{{写真:image[0]:width:50%}}

QRコードプレースホルダー

セルの値をQRコード画像に変換して挿入するには {{列名:qrcode}} 形式を使用します。

{{URL:qrcode}}

QRコードのサイズを指定する

{{URL:qrcode:size:80}}

地図QRコード

セルの値をGoogle Maps検索URLに変換し、そのURLのQRコード画像として挿入するには {{列名:map:qrcode}} 形式を使用します。

{{住所:map:qrcode}}

地図QRコードのサイズを指定する

{{住所:map:qrcode:size:80}}

QRコードのエラーハンドリング

表示 ケース
No address data 住所セルが空の場合
QR API error: {code} QRコードAPI呼び出しが200以外のステータスを返した場合
注意: QRコード生成のためにセルの値が外部API(api.qrserver.com)に送信されます。機密情報をQRコード化する場合はご注意ください。

地図画像(Google Maps Static API)

セルの値をGoogle Maps Static APIで地図画像に変換して挿入するには {{列名:map:image}} 形式を使用します。

{{住所:map:image}}

地図のパラメータを指定する

{{住所:map:image:zoom=13&size=400x300}}

地図画像のエラーハンドリング

表示 ケース
No address data 住所セルが空の場合
Maps API key not configured Google Maps Static API の API キーが設定されていない
Maps API error: {code} API呼び出しが200以外のステータスを返した場合
注意: 住所が外部API(Google Maps Static API)に送信されます。機密情報を含む住所の場合はご注意ください。

テキスト表示値(TO_TEXT)プレースホルダー

セルの値をスプレッドシート上での表示形式(日付の書式、数値の書式など)を適用した状態で埋め込むには :text パラメータを使用します。

{{日付:text}}

通貨フォーマットプレースホルダー

セルの数値を3桁カンマ区切り+通貨記号でフォーマットして出力するには {{列名:currency}} 形式を使用します。

{{金額:currency}}
プレースホルダー 入力値 出力
{{金額:currency}} 1000 1,000円
{{金額:currency}} 1000000 1,000,000円
{{金額:currency}} 0 0円
{{金額:currency}} 99.5 99.5円
{{金額:currency}} -500 -500円

通貨記号を変更する

記号を「¥」などに変更するには :symbol:xx サブパラメータを使用します。

{{金額:currency:symbol:¥}}
プレースホルダー 入力値 出力
{{金額:currency:symbol:¥}} 1000 ¥1,000

和暦変換プレースホルダー

セルの日付値を和暦(元号年)形式に変換して出力するには {{列名:wareki}} 形式を使用します。

{{日付:wareki}}

対応元号: 明治(1868/1/25〜)、大正、昭和、平成、令和

1868/1/24 より前の日付はエラーとなります。

列アルファベット形式でも使用可能: {{A:wareki}}

テキスト表示値との組み合わせ

セルの表示値(文字列)をパースして和暦変換するには {{列名:text:wareki}} 形式を使用します。

{{日付:text:wareki}}

バッチ生成

ステータス列(_FormToPDF_Status)

バッチ生成を実行すると、スプレッドシートに _FormToPDF_Status 列が追加され、各行の処理状態が記録されます。

スキップ列(_FormToPDF_Skip)

バッチ生成を実行すると、ステータス列のすぐ左に _FormToPDF_Skip 列が自動追加されます。この列に true(大文字小文字不問)と入力すると、バッチ処理時にその行のPDF生成がスキップされます。

PDF列(Google Drive™リンク)

バッチ生成を実行すると、ステータス列のすぐ右に 「PDF」列 が自動追加されます。各行のPDF生成が成功すると、その行のPDF列に生成されたPDFファイルのGoogle Drive™リンクが書き込まれます。リンクをクリックするとブラウザで直接PDFを開くことができます。

ドキュメント列(Google Drive™リンク)

バッチ生成を実行すると、PDF列のすぐ右に「ドキュメント」列が自動追加されます。各行のPDF生成が成功すると、その行のドキュメント列に生成途中のGoogleドキュメントのリンクが書き込まれます。リンクをクリックするとブラウザで直接ドキュメントを開くことができます。

重要: FormToPDFがマイドライブの画像を参照するためには「リンクを知っている全員」を閲覧者にしておく必要があります。フォームで画像が保存されるフォルダを「リンクを知っている全員」を閲覧者にするのが簡単です。

エラーメッセージ一覧

エラーケース エラーメッセージ
空のプレースホルダー {{}} 「空のプレースホルダー「{{}}」は無効です。」
存在しない列名 {{存在しない列}} 「列名「存在しない列」はヘッダー行に存在しません。」
列アルファベット範囲外 {{ZZZ}} 列名として解決(ヘッダーに存在しなければ上記エラー)
データ範囲外の列アルファベット 「列アルファベット「X」(インデックス: 23)はデータ範囲外です(列数: 10)。」

料金・サブスクリプション

FormToPDF はサブスクリプション方式でご利用いただけます。Stripe を通じて決済が行われます。

月額プラン 年額プラン(お得)
料金 300円/月 3,000円/年
支払い 月払い 年払い(月換算250円)

トライアルについて

初回はトライアルとして一定回数まで無料でお試しいただけます。トライアル期間・回数を超えた場合は、サブスクリプションにご登録いただくことで継続利用が可能です。

サブスクリプションの管理

Google Workspace™ Marketplace のマイアプリページから、FormToPDF の設定を開き、「サブスクリプションを管理」より解約手続きを行ってください。解約後は次回更新が行われず、既存の機能は契約期間中引き続きご利用いただけます。

よくある質問(FAQ)

画像が表示されない

画像がテンプレート内で表示されない場合、最も多い原因はアクセス権設定です。Google Drive™ 上の画像ファイルが「リンクを知っている全員」に設定されているかご確認ください。

フォームで画像が保存されるフォルダ全体に対して「リンクを知っている全員」の閲覧者設定を行うと、個別ファイルに設定する手間が省けます。

「列名「XXX」はヘッダー行に存在しません。」エラー

プレースホルダーに指定した列名が、スプレッドシートの1行目(ヘッダー行)に存在しない場合に表示されます。以下をご確認ください。

QRコードが表示されない

以下の点をご確認ください。

地図画像が表示されない

以下の点をご確認ください。

PDFの生成に失敗する

以下の点をご確認ください。

生成可能回数が0になった

トライアルの利用上限に達したか、サブスクリプションの有効期限が切れている可能性があります。サブスクリプションをご契約いただくと、再度ご利用いただけます。

画像のアクセス権設定がめんどう

Google フォーム™の回答保存先フォルダ(フォームの「回答」タブで設定したスプレッドシートが保存されているフォルダ)に対して、「リンクを知っている全員」を閲覧者に設定するのが最も簡単な方法です。フォルダ単位で設定すれば、以降にアップロードされるすべての画像に自動的に適用されます。

詳細は サポートページ もご参照ください。

メールの下書き Smart Chip の利用

テンプレートへの設定方法

テンプレートのGoogleドキュメント内で @メールの下書き と入力すると、Smart Chip(スマートチップ)として「メールの下書き」が挿入されます。このSmart Chipに以下のフィールドを設定することで、生成したドキュメントからワンクリックでGmailの送信画面を開くことができます。

利用手順

  1. テンプレートのGoogleドキュメントで @ を入力し、「メールの下書き」を選択
  2. 表示されたSmart Chipの各フィールドに、プレースホルダーを記述
  3. 通常通りバッチ生成を実行
  4. 生成された「ドキュメント」列のリンクをクリック
  5. 開いたドキュメントで M キーを押すか、Smart Chipにカーソルを合わせて「Gmailで開く」をクリック
  6. プレースホルダーが解決された状態でGmailの送信画面が開きます