Microsoft Formsの回答をPDF出力する方法|印刷保存・自動メール送信

Microsoft Formsの回答をPDF出力する方法は、手動の印刷保存と、Power Automateによる自動生成に分けられます。個別回答や回答集計はFormsの印刷画面から保存でき、毎回の回答をPDFにしてメール添付したい場合はフローを作成します。この記事では両方の経路と、HTML・Wordを使うときの前提を説明します。

目次

目的に合わせてPDF出力方法を選ぶ

PDFを一度保存するだけならFormsの印刷画面から確認し、回答ごとの自動添付メールが必要な場合にPower Automateを組みます。

目的 使う経路 注意点
個別回答・集計を一度PDF保存 Formsの印刷画面でPDF保存 個別の内容と集計グラフを区別
新規回答ごとのPDF自動メール HTML作成→OneDrive変換→メール添付 組織アカウントと保存先が必要
Word帳票でPDF自動メール 対応コントロールに差し込み→PDF変換 Word Online (Business)はPremium

Formsの個別回答・集計を手動でPDF保存する

Microsoftの印刷手順では、空欄のフォーム、回答集計、個別回答の3種類を区別しています。回答内容が欲しい場合に、質問だけの「フォームの印刷」を選ばないようにします。

  1. 対象フォームの「回答」タブを開きます。
  2. 1回答を保存する場合は「結果を表示」などの個別結果画面で、対象の回答を選択します。
  3. 「その他のオプション」から「回答の印刷」を選択します。集計を保存する場合は回答タブの「集計の印刷」を選びます。
  4. 開いた印刷画面で、ブラウザーの「PDFに保存」やWindowsの「Microsoft Print to PDF」など、利用できるPDF出力先を選びます。
  5. プレビューで質問・回答・改ページを確認して保存し、できたPDFを開いて内容を確かめます。

画面の表記はFormsやブラウザーの版で異なることがあります。複数回答を一覧で保存する場合は、公式の回答エクスポート案内に沿ってExcelで開き、必要な列や印刷範囲を整えてからPDFとして保存できます。

集計グラフが必要なのか、特定の人の回答が必要なのかを先に決めると、印刷する画面を取り違えずに済みます。

回答ごとの自動PDFメールに必要な前提

以下は職場・学校のMicrosoft 365環境で構築する例です。FormsのPower Automateコネクタは公式仕様で組織アカウントのみを対象としています。個人用Microsoftアカウントで作ったFormsが、同じ経路ですべて自動化できるとは考えないでください。

接続この記事での役割Power Automateでの区分
Microsoft Forms新規回答を検知し回答内容を取得Standard
OneDrive for BusinessHTMLファイルの作成とPDF変換Standard
Office 365 OutlookPDFを添付してメール送信Standard
Word Online (Business)帳票テンプレートへ差し込み、WordからPDF変換Premium

Standardという区分は、個人アカウントでも無条件に無料で使えるという意味ではありません。接続先サービスの利用権、Power Automateの利用条件、組織のデータポリシーを確認します。

まず管理者など確認できる固定宛先へ1件送る構成で試し、PDFの内容と添付を確認してから本来の送付先へ広げます。

HTMLからPDFを作るフローの設定

「HTML to PDF」という共通の標準アクションを探すのではなく、この例ではOneDrive for BusinessのCreate fileとConvert fileを使います。OneDriveの対応変換形式にはHTMLからPDFが含まれます。

順番・アクション指定する内容
1. Forms: When a new response is submitted対象のForm Id
2. Forms: Get response details同じForm Idと、トリガーのResponse Id
3. データ操作: Compose取得した質問の動的コンテンツを入れたHTML文字列
4. OneDrive for Business: Create file保存用フォルダー、回答IDを含む.html名、Composeの出力
5. OneDrive for Business: Convert fileCreate fileのファイルID、変換先PDF
6. Office 365 Outlook: Send an email (V2)宛先、件名、本文、PDF名とConvert fileのファイル内容

フォームとResponse Idを対応させる

Get response detailsのResponse Idには、新しい回答を検知したトリガーの動的コンテンツを指定します。手入力の固定番号では、別の回答を取得する原因になります。グループフォームは一覧に出ないことがあり、公式仕様は編集URLのFormId=より後の値を手動で指定する方法を案内しています。

同じフォーム名が複数ある場合は、設定したForm Idとテスト回答の内容を照合します。フォーム名が一致するだけでは、接続した対象の確認になりません。

HTMLへ差し込む値を確認する

Composeには、氏名・申込内容・回答IDなど、PDFに必要な項目だけを配置します。質問ごとの値はGet response detailsの実行履歴で確認してください。複数選択の区切りや出力の形を一律に決めつけず、自由記述の改行や記号をHTMLの文字として扱えるように整えます。

次は必要項目を整理するための説明用JSONです。Get response detailsが必ずresponseDetails/Q1というキーを返す、または複数選択をセミコロンで返すという仕様例ではありません。実際のフローではフォームに対応した動的コンテンツを選びます。

{
  "responseDetails": {
    "Q1": "山田太郎",
    "Q2": "IT部門",
    "Q3": "選択1;選択2",
    "Q4": "こちらのサービスは使いやすいと思います。"
  }
}

長い自由回答、改行、&や<などの記号を含むテスト回答で、生成後のPDFを開いて確認します。HTML内へそのまま入れると、文字がタグや記号として解釈されて表示が崩れる場合があります。

作成したHTMLのIDをPDF変換へ渡す

Create fileの保存先は、この接続アカウントが操作できるOneDrive for Businessフォルダーです。例えば固定のフォーム識別子とResponse Idを組み合わせた.html名にし、同じ回答を追跡できるようにします。回答者の氏名だけをファイル名にすると、同名の人や使えない記号があるため避けます。

Convert fileの「File」には直前のCreate fileが返すIDを指定します。HTMLの文字列やファイル名だけをID欄へ入れません。出力は変換したファイルの内容であり、PDFが指定フォルダーへ自動保存されたこととは別です。保管も必要なら、変換後の内容を使って.pdfのCreate fileを追加します。

PDF名とファイル内容をメール添付へ指定する

Office 365 OutlookのSend an email (V2)に宛先・件名・本文を設定し、添付の名前を.pdf、添付の内容をConvert fileが返す「File content」にします。元のHTMLの内容、OneDriveのURL、ファイルIDを添付内容へ入れると、目的のPDFになりません。

メール送信成功だけで完了とせず、受信した添付を開き、今回の回答者・内容・PDF名が一致することを確認します。

回答IDを件名・PDF名・保管先の管理記録へ含めると、再処理のときに同じ回答を見つけやすくなります。氏名だけで照合しない運用にできます。

Wordテンプレートを使って帳票を整える場合

整った帳票が必要ならWord Online (Business)のPopulate a Microsoft Word templateを使う方法もあります。Wordの開発タブから対応するコンテンツコントロールを配置し、項目ごとに重複しない名前を付けたテンプレートをOneDrive for BusinessやSharePointへ保存します。<<名前>>という普通の文字を書くだけでは、アクションの差し込み項目にはなりません。

テンプレートの各項目へ回答を割り当て、生成したWordファイルを保存して、Convert Word Document to PDFで変換し、そのファイル内容をメールへ添付する流れです。Plain Textなどの対応コントロールを選び、Rich Text・日付選択・チェックボックスなど未対応の種類に依存しないようにします。

Word Online (Business)はPower AutomateでPremiumです。「高度な機能を使う場合だけ有料」という前提にせず、利用するライセンスとコネクタの条件を構築前に確認します。

変換・送信に失敗したときの確認

症状確認する場所
回答を取得できないForm Id、Response Id、接続アカウントの対象フォームへの権限
変換でBad gateway/Resource not foundHTML作成の成功とID。公式資料は作成と変換の間隔を増やす対処を案内
文字化け・レイアウト崩れHTMLの文字コード、自由回答の記号、長文・画像の扱いを個別に比較
PDF添付を開けない添付内容がConvert fileのファイル内容か、名前が.pdfか
メールが重複して届く同じ回答IDの再実行、再送処理と送信済み記録

OneDrive for Businessの公式資料は、PDF変換の一部エラーでファイル作成と変換の間の待ち時間を増やす対処を示しています。すべての環境で固定秒数を待てば直るという意味ではありません。実行履歴で失敗したアクションと入力・出力を確認して調整します。

自動返信とPDF送付先の決め方

まず固定の担当者宛てで動作を確認します。回答者へ返す場合は、本人の回答だけを送る構成にし、匿名回答で入力されたメールアドレスは本人確認済みアドレスとは区別します。空欄や誤入力への扱い、社外送信の可否、保存期間を運用担当者と決めます。

本番公開前に、通常回答・長文・複数選択・宛先空欄・変換失敗を含む少数のテストで、PDFの内容と送信先を確認します。送信成功だけを見る検証では、取り違えに気づけません。

よくある質問

Forms自体にはPDF出力方法がないのですか?

個別回答や集計の印刷機能があり、印刷画面のPDF保存を使えます。回答をExcelで開いてPDF保存する方法も公式に案内されています。毎回答の自動生成・メール送信は別途フローを構築します。

PDFの埋め込みと回答のPDF出力は同じですか?

この記事で作るのは、フォームから送信された回答をPDFとして出力する仕組みです。回答者に既存PDFを読んでもらう、フォームを別ページへ埋め込む、といった用途とは設計が異なるため、必要な用途を先に確認します。

PDFの自動返信ができれば受講証明になりますか?

申込回答だけでPDFを作っても、実際の受講や修了を確認したことにはなりません。受講証明書などを発行する場合は、確認した出席・修了情報や承認を起点にする設計が必要です。

手動保存で必要なレイアウトを確かめてから自動化へ進むと、何をPDFへ載せるか、誰へ送るかを決めやすくなります。

まとめ

Forms回答のPDF出力は、印刷画面からの保存、Excel経由、Power Automateの自動生成を目的で選びます。自動メールのHTML方式では、回答IDで内容を取得し、OneDrive for BusinessでHTMLを保存・PDF変換して、そのファイル内容を添付します。Word方式は対応コントロールとPremium条件を先に確認してください。

この記事を書いた人

実務の現場で詰まりがちなポイントを地図にするITブログ「IT trip」を運営。Windows/Office(Teams・Excel)からSQL、サーバ運用、ガジェットまで、再現性のある手順と“なぜそうなるか”を丁寧に解説します。読んだらすぐ試せること、そして迷った人の次の一歩が見えることを大切にしています。

コメント

コメントする

目次