OutputPDF|指定シートをPDF出力する汎用処理 | Excel VBA
- yuji fukami
- 2024年1月17日
- 読了時間: 2分
更新日:1月4日

<概要 (PDF 出力 VBA)>
OutputPDFは、指定したワークシートをPDF形式で出力するためのExcel VBA汎用プロシージャです(PDF 出力 VBA)。
PDF出力は取引先へのメール添付や、データの保管用として頻繁に行う作業です。手動で行うには印刷プレビューで「Microsoft Print to PDF」を設定して印刷で可能ですが、保存先フォルダやファイル名を毎回指定するのは手間です。
OutputPDFでは保存先フォルダ、ファイル名を引数で指定できます。なので、「ファイル名が顧客ごとに変わる」「保存先のフォルダが日付ごとに異なる」などの場合でも簡単に自動化が出来ます。
ちなみにOutputPDFでは出力先フォルダやファイル名を省略した場合でも、安全な既定値(ブックの保存先・シート名)が自動的に使用されるため、最低限の指定だけでPDF出力処理を実装できます。
また、Windows / mac 両対応を考慮したPathSeparatorの使用や、同名PDFが開いていて出力に失敗するケースへのエラーハンドリングも組み込まれており、実務でそのまま再利用できる安定性の高いプロシージャです。
<用途>
単一シートのPDF出力の自動化
<プロシージャ紹介>
Public Sub OutputPDF(Sheet As Worksheet, FolderPath As String, FileName As String, [Message As Boolean = True])
名前: OutputPDF /Subプロシージャ
説明: 指定シートをPDFで出力する
引数
Sheet ・・・PDF化する対象のシート
FolderPath・・・出力先フォルダパス
FileName ・・・出力PDFのファイル名
[Message] ・・・出力確認のメッセージを表示するかどうか
省略なら表示する
<実行例>
次のようなワークシートを用意します。ワークシートのオブジェクト名は「Sheet2」です。

コードは次のようなものを用意します。
出力先のフォルダパスとPDFのファイル名を引数で指定しています。
実行すると次のようなメッセージが現れて、「はい」を押すと、PDFの出力先のフォルダが起動して出力結果をすぐ確認もできるようになっています。

<サンプルファイル>
<コード>



