PDF 出力を行う
Excel VBA を使用して PDF 出力を行うことは、作業の自動化や効率化に非常に役立ちます。
ここでは、PDF 出力の基本的な方法から、より高度なカスタマイズまで、様々なケースに対応できるよう、詳細な解説とコード例を交えてご紹介します。
基本的な PDF 出力
最もシンプルな PDF 出力方法は、ExportAsFixedFormat メソッドを使用する方法です。
このメソッドは、ワークシートまたはワークブック全体を PDF ファイルとして保存することができます。
VB.Net
Sub PDF出力()
Dim fileName As String
fileName = "出力ファイル名.pdf"
ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, _
Filename:=fileName, _
Quality:=xlQualityStandard, _
IncludeDocProperties:=True, _
IgnorePrintAreas:=False, _
OpenAfterPublish:= ?
False
End Sub
コードは注意してご使用ください。
Type:=xlTypePDF: 出力形式を PDF に指定します。
Filename: 出力するファイル名を指定します。
Quality: 出力品質を指定します。
IncludeDocProperties: ドキュメントプロパティを含めるかどうかを指定します。
IgnorePrintAreas: 印刷範囲を無視するかどうかを指定します。
OpenAfterPublish: 出力後にファイルを自動的に開くかどうかを指定します。
特定のシートを PDF 出力
特定のシートのみを PDF 出力したい場合は、そのシートをアクティブにした上で、上記のコードを実行します。
VB.Net
Sub 特定シートのPDF出力()
Sheets("シート名").Activate
' 上記の PDF出力() を呼び出す
End Sub
コードは注意してご使用ください。
複数のシートをまとめて PDF 出力
複数のシートを一つの PDF ファイルにまとめたい場合は、Workbooks.Add メソッドを使って新しいワークブックを作成し、そこにコピーしてから PDF 出力を行います。
VB.Net
Sub 複数シートのPDF出力()
Dim newBook As Workbook
Set newBook = Workbooks.Add
' コピーするシートを指定
Sheets("シート1", "シート2").Copy Before:=newBook.Sheets(1)
' 新しいワークブックを PDF 出力
newBook.ExportAsFixedFormat Type:=xlTypePDF, _
Filename:="複数のシート.pdf"
newBook.Close False
End Sub
コードは注意してご使用ください。
PDF 出力のカスタマイズ
出力範囲の指定: PrintArea プロパティを使用して、印刷範囲を指定できます。
ページ設定: PageSetup オブジェクトを使用して、ページ余白、ヘッダー、フッターなどを設定できます。
パスワード設定: Password プロパティを使用して、PDF ファイルにパスワードを設定できます。
出力品質の調整: Quality プロパティで出力品質を調整できます。
ファイル形式の変更: Type プロパティを変更することで、PDF 以外の形式で出力することも可能です。
その他
エラー処理: ファイルの保存場所やファイル名などが不正な場合、エラーが発生する可能性があります。エラー処理を追加することで、プログラムの安定性を高めることができます。
ユーザーインタフェース: ダイアログボックスなどを利用して、ユーザーが入力した値に基づいて PDF 出力を行うことができます。