VBAを使って、ExcelデータをPDFファイルに自動変換する方法

2023年4月15日

VBAを使ったPDFファイルの作成は、手作業で行う場合よりも正確かつ効率的です。手動で作業する場合、ミスや手違いが起こりやすく、時間もかかりますが、VBAを使えば作業時間を短縮し、正確性を高めることができます。また、ExcelデータをPDFファイルに変換する必要性は、ビジネスや学術など、様々な分野であります。例えば、膨大なデータをExcelで管理し、それをPDFに変換して報告書や資料に使用することが多々あります。このような場合にVBAを使うことで、一定の品質を保ちつつ大量のデータを高速に処理することができます。
さらに、VBAを使ったPDFファイルの作成により、手動での作業が不要となるため、作業効率が飛躍的に向上します。また、データの管理や保存方法もスムーズになります。今回は、Excel上のボタンをワンクリックするだけでPDF化する方法をサンプルアプリを使って紹介します。

サンプルアプリ実行動作

Excel上に「PDFファイル出力」ボタンがあります。ボタンをクリックすると、Excelファイルが保存されているフォルダにPDFファイルが自動的に作成されます

サンプルコードの処理内容

処理の内容については以下の通りです。

PDFファイルを作成する保存先とファイル名を指定します。
     ↓
出力するPDFファイルの書式を設定します。
(PDF化する時の上下のマージン、拡大率または縮小率(%)など)
     ↓
PDFファイル出力
     ↓
出力完了メッセージ表示

サンプルコード    アプリの作成手順はこちら

Option Explicit

Sub Export_PdfFile()

'保存先フォルダパス&ファイル名の設定
 Dim fileName As String
 fileName = ThisWorkbook.Path & "\PDF出力ファイル.pdf"

'出力するPDFファイルの書式設定
 With ActiveSheet.PageSetup
 
   'ワークシートを印刷するとき上下のマージンをそれぞれ1に設定
    .TopMargin = 1
    .BottomMargin = 1
 
   'ワークシートを印刷するときの拡大率または縮小率(%)を指定 今回は100%で設定
    .Zoom = False
    
   'ワークシートを印刷するときに、横何ページ分で収めるかを指定
    .FitToPagesWide = 1
    
   'ワークシートを印刷するときに、縦何ページ分で収めるかを指定
    .FitToPagesTall = 1

   '上詰め出力
   ' .CenterVertically = False

 End With

'PDFファイル出力
 ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, fileName:=fileName

'出力完了メッセージの表示
 MsgBox "PDFファイルの出力が完了しました。"

End Sub

PDF,VBAExcel,PDF,VBA,マクロ

Posted by CoderM