【VBA】ExcelファイルをPDFに変換する方法|ExportAsFixedFormatの活用

目次

はじめに

Excelで作成した資料をPDF化したい場面は非常に多くあります。
特に業務で複数のExcelファイルを一括でPDF化する処理を自動化できると、大きな時短になります。

私自身、「フォルダ内のすべてのExcelファイルをPDFに変換したい」というニーズがあり、
VBAを使ってその処理を実装してみました。


使用するメソッド:ExportAsFixedFormat

ExcelのVBAには、ブックやシートをPDFファイルとして出力するための標準メソッドが用意されています。
それが、ExportAsFixedFormat です。

このメソッドを使うことで、指定したシートやブックをPDF形式に変換して保存することが可能です。


コード例:シートをPDFに変換する

' 変数 ws に対象のシートがセットされている想定
ws.ExportAsFixedFormat Type:=xlTypePDF, Filename:=pdfFileName, _
   Quality:=xlQualityStandard, IncludeDocProperties:=True, _
   IgnorePrintAreas:=False, OpenAfterPublish:=False

パラメータの解説

  • Type:=xlTypePDF
     → 出力形式をPDFに指定します
  • Filename:=pdfFileName
     → 出力するPDFファイルの保存パスとファイル名を指定します(例:”C:\出力\sample.pdf”)
  • Quality:=xlQualityStandard
     → 標準品質(印刷向け)で出力されます
  • IncludeDocProperties:=True
     → 文書のプロパティ(タイトルや作成者など)を含めます
  • IgnorePrintAreas:=False
     → シートに設定された印刷範囲を反映します。Trueにすると全シートが対象になります
  • OpenAfterPublish:=False
     → PDF作成後、自動で開かない設定です。Trueにすると自動で表示されます

実運用例:フォルダ内のExcelファイルをすべてPDFに変換

上記のコードをベースに、フォルダ内のExcelファイルを1つずつ開いてPDFに変換するといった処理も実装可能です。

  • 対象フォルダを指定してファイル一覧を取得
  • 拡張子.xlsx.xlsmを対象にループ処理
  • 各ファイルを開いて目的のシートまたはブックをPDF変換
  • ExportAsFixedFormatを呼び出して保存
  • 最後にブックを閉じる

これにより、大量のExcelファイルを自動でPDF化することができます。


まとめ

VBAのExportAsFixedFormatメソッドを使えば、Excelファイルを簡単にPDFファイルに変換することが可能です。
設定も柔軟に変更でき、業務に合わせた出力が行えます。

特に、複数ファイルのバッチ処理と組み合わせれば、大幅な作業効率アップにもつながります。

少しでも参考になれば幸いです。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

私が勉強したこと、実践したこと、してることを書いているブログです。
主に資産運用について書いていたのですが、
最近はプログラミングに興味があるので、今はそればっかりです。

目次