このVBAマクロは、Excelのワークブック内の全てのシートを一つのPDFファイルとして保存する自動化ツールです。ユーザーが設定した名前でPDFファイルを作成し、任意の保存場所にファイルを保存できます。
使用技術
- 変数の宣言:
Dim
ステートメントを使用して、ワークシートオブジェクト(ws
)、PDFファイル名(pdfName
)、PDFファイルの保存パス(pdfPath
)に使用する変数を宣言します。
GetSaveAsFilename
メソッド:Application
オブジェクトのGetSaveAsFilename
メソッドを利用して、保存するPDFファイルの名前と場所をユーザーが指定できるダイアログボックスを表示します。
- 条件分岐:
If
ステートメントを使用して、ユーザーが保存ダイアログでキャンセルボタンをクリックした場合にマクロの実行を中断します。
- シートの選択:
Sheets.Select
メソッドを使って、ワークブック内の全てのシートを選択します。
- PDFへのエクスポート:
- 選択されたシート(実際にはワークブック内の全てのシート)を
ExportAsFixedFormat
メソッドを使用してPDFファイルとして保存します。このメソッドでは、ファイル形式、ファイル名、品質、ドキュメントのプロパティの含め方、印刷範囲の無視設定、および保存後にPDFファイルを開くかどうかを指定します。
- 選択されたシート(実際にはワークブック内の全てのシート)を
- 最初のシートに戻る:
- マクロ実行後、
Sheets(1).Select
を使用してワークブックの最初のシートに戻ります。これは、マクロ実行後のユーザーの操作を容易にするためのものです。
- マクロ実行後、
機能
- PDFファイル名のカスタマイズ:
- ユーザーが指定した名前でPDFファイルを作成します。
- 保存パスの選択:
- ユーザーが保存ダイアログを通じてPDFファイルの保存場所を選択できます。
- 全シートの統合保存:
- ワークブック内の全てのシートを一つのPDFファイルに統合して保存します。
- ユーザーの操作による処理中断:
- 保存パス選択時にユーザーが操作をキャンセルすると、マクロの実行を中断します。
- PDFの自動開示:
- PDFファイルが保存された直後に自動的に開きます。
ソースコード
VB
Sub SaveSheetsAsPDF()
Dim ws As Worksheet
Dim pdfName As String
Dim pdfPath As String
' PDFファイルの名前と保存パスを設定
pdfName = "WorkbookAsPDF.pdf"
pdfPath = Application.GetSaveAsFilename(pdfName, "PDF Files (*.pdf), *.pdf", , "PDFに保存")
' ユーザーがキャンセルした場合は処理を中断
If pdfPath = "False" Then Exit Sub
' 全てのシートを選択
Sheets.Select
' 選択したシートをPDFとして保存
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=pdfPath, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=True
' 最初のシートに戻る
Sheets(1).Select
End Sub
現在選択されているシートをPDFに保存する方法は別のページで紹介しています。
使い方
- Excelを開く:
- 使用したいExcelワークブックを開きます。
- VBAエディタを開く:
Alt + F11
キーを押してExcelのVBAエディタを開きます。
- 新しいモジュールを挿入:
- VBAエディタのメニューバーで「挿入」をクリックし、「モジュール」を選択して、新しいモジュールを追加します。
- マクロをコピー&ペースト:
- 提供された
SaveSheetsAsPDF
マクロのコードを新しく作成したモジュールにコピー&ペーストします。
- 提供された
- マクロを実行:
- VBAエディタ内で、マクロの名前を選択し、
F5
キーを押すか、ツールバーの実行ボタンをクリックしてマクロを実行します。
- VBAエディタ内で、マクロの名前を選択し、
- PDFファイル名と保存場所を選択:
- ポップアップする「保存」ダイアログから、PDFファイルの名前を入力し、保存場所を選択します。
- 保存完了の確認:
- マクロが終了すると、選択した場所にワークブックの全シートを含むPDFファイルが保存されます。マクロの設定により、PDFファイルが自動的に開かれることもあります。
コメント