Home » エクセルマクロ・Excel VBAの使い方 » Sheets・Worksheet » VBAでシートをPDF保存する

対象:Excel2007, Excel2010, Excel2013, Windows版Excel2016

VBAでシートをPDF保存する

Excel VBA PDF保存」で検索すると、
  ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF
といったオブジェクト式が紹介されているケースが多いためでしょう、
「excel マクロ設定 アクティブじゃないシートをpdf保存」
という検索キーワードで、このサイト・インストラクターのネタ帳へのアクセスがありました。

「ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF」では、アクティブなシートがPDFファイルとして出力されるため、アクティブではないシートの場合に、どのようなコードにすればいいのかを探していた方による検索です。

[スポンサードリンク]

指定したワークシートをPDF保存するサンプルマクロ

以下のSubプロシージャを実行すると、1枚目のワークシートが「C:\TEMP」フォルダーに出力されます。

Sub PDF出力する_指定したワークシート()
 Const PATH_ = "C:\TEMP\"
 Dim sh As Worksheet

 Set sh = Worksheets(1)
 sh.ExportAsFixedFormat _
   Type:=xlTypePDF, _
   Filename:=PATH_ & sh.Name
End Sub

「ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF」というオブジェクト式は、ActiveSheetプロパティでアクティブなWorksheetオブジェクトを取得して、Worksheet.ExportAsFixedFormatメソッドを利用しています。

VBAでシートをPDF保存する

このWorksheetオブジェクトを取得するオブジェクト式「ActiveSheet」を変更すれば、
「excel マクロ設定 アクティブじゃないシートをpdf保存」
となります。

上記のプロシージャの
  Set sh = Worksheets(1)
を、例えば、
  Set sh = Worksheets("シート1")
に変更すれば「シート1」ワークシートがPDF出力されます。

全ワークシートをPDF保存するサンプルマクロ

以下のようなSubプロシージャにすれば、アクティブなブックのすべてのワークシートがPDFファイルとして出力されます。

Sub PDF出力する_すべてのワークシート()
 Const PATH_ = "C:\TEMP\"
 Dim sh As Worksheet

 For Each sh In Worksheets
  sh.ExportAsFixedFormat _
    Type:=xlTypePDF, _
    Filename:=PATH_ & sh.Name
 Next sh
End Sub

[スポンサードリンク]

Home » エクセルマクロ・Excel VBAの使い方 » Sheets・Worksheet » VBAでシートをPDF保存する

「Sheets・Worksheet」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.