Excel初心者ガイド:アクティブシートをPDFに保存する簡単な方法

サンプルコード

このVBAマクロは、Excelでアクティブになっているシート(現在選択されているシート)をPDFファイルとして保存する機能を提供します。

使用技術

  • VBA (Visual Basic for Applications): Excelを含むMicrosoft Officeアプリケーションのプログラミング言語。
  • ActiveSheetオブジェクト: Excelで現在選択されている、または作業中のシートを参照します。
  • Application.GetSaveAsFilenameメソッド: ファイル保存ダイアログボックスを表示し、ユーザーにファイルの保存場所と名前の指定を求めます。このメソッドは、ユーザーが指定したパスを文字列で返します。
  • ExportAsFixedFormatメソッド: シートやワークブックをPDFやXPS形式で保存するために使用されます。この例では、アクティブなシートをPDF形式で保存しています。
  • Type:=xlTypePDF: ExportAsFixedFormatメソッドの引数で、出力形式をPDFに指定しています。
  • Filename: 保存するファイルのパスと名前を指定します。
  • Quality:=xlQualityStandard: 出力されるPDFの品質を標準品質に指定します。
  • IncludeDocProperties:=True: ドキュメントのプロパティ(著者、タイトルなど)をPDFに含めるかどうかを指定します。
  • IgnorePrintAreas:=False: シートの印刷範囲設定を無視せず、設定されている印刷範囲に従ってPDFを生成します。
  • OpenAfterPublish:=True: PDFファイルを保存後に自動的に開くかどうかを指定します。

機能

  • PDFファイル名を”ActiveSheetAsPDF.pdf”として事前に設定。
  • ユーザーにPDFの保存場所を選択させるためのダイアログボックスを表示。
  • ユーザーが保存ダイアログでキャンセルした場合、マクロの実行を中断。
  • ユーザーが保存場所を選択し、キャンセルしなかった場合に限り、アクティブなシートをPDF形式で保存。
  • 保存時の設定には、標準品質での出力、ドキュメントプロパティの含め方、印刷範囲の無視の有無、保存後のPDFの自動開封を含む。

ソースコード

VB
Sub SaveActiveSheetAsPDF()
    Dim pdfName As String
    Dim pdfPath As String
    
    ' PDFファイルの名前と保存パスを設定
    pdfName = "ActiveSheetAsPDF.pdf"
    pdfPath = Application.GetSaveAsFilename(pdfName, "PDF Files (*.pdf), *.pdf", , "PDFに保存")
    
    ' ユーザーがキャンセルした場合は処理を中断
    If pdfPath = "False" Then Exit Sub
    
    ' アクティブなシートをPDFとして保存
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=pdfPath, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=True
End Sub

ワークブックの全シートをPDFに統合保存する方法は別のページで紹介しています。

使い方

  1. Excelを開く: まず、Microsoft Excelを開いて、PDFに変換したいシートが含まれるワークブックを開きます。
  2. VBAエディタを開く:Alt + F11 キーを押してExcelのVBAエディタを開きます。
  3. 新しいマクロを挿入: VBAエディタで、挿入メニューから「モジュール」を選択して新しいモジュールを挿入します。
  4. コードを貼り付け: コードを新しいモジュールウィンドウに貼り付けます。
  5. マクロを実行:VBAエディタ内で、マクロの名前を選択し、F5キーを押すか、ツールバーの実行ボタンをクリックしてマクロを実行します。
  6. 保存場所を選択: 実行すると、ファイル保存ダイアログが表示され、PDFファイルの保存場所とファイル名を選択します。
  7. PDF保存の完了: 適切な場所とファイル名を選択して「保存」をクリックすると、アクティブなシートがPDFファイルとして保存されます。もし保存ダイアログでキャンセルを選択した場合は、マクロの実行が中断されます。

コメント

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