Excel初心者ガイド:ワークブックの全シートをPDFに統合保存するVBAマクロ

サンプルコード

この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に保存する方法は別のページで紹介しています。

使い方

  1. Excelを開く:
    • 使用したいExcelワークブックを開きます。
  2. VBAエディタを開く:
    • Alt + F11 キーを押してExcelのVBAエディタを開きます。
  3. 新しいモジュールを挿入:
    • VBAエディタのメニューバーで「挿入」をクリックし、「モジュール」を選択して、新しいモジュールを追加します。
  4. マクロをコピー&ペースト:
    • 提供されたSaveSheetsAsPDFマクロのコードを新しく作成したモジュールにコピー&ペーストします。
  5. マクロを実行:
    • VBAエディタ内で、マクロの名前を選択し、F5キーを押すか、ツールバーの実行ボタンをクリックしてマクロを実行します。
  6. PDFファイル名と保存場所を選択:
    • ポップアップする「保存」ダイアログから、PDFファイルの名前を入力し、保存場所を選択します。
  7. 保存完了の確認:
    • マクロが終了すると、選択した場所にワークブックの全シートを含むPDFファイルが保存されます。マクロの設定により、PDFファイルが自動的に開かれることもあります。

コメント

タイトルとURLをコピーしました