Excel VBAでのシートのPDF保存はそう頻繁にやるものではないのでいざやろうとするとどうするんだったかなとなってしまいがちです。
そのようなこともあり、ここにPDF保存する方法の主なものを備忘録として書き残しておきたいと思います。
目次
- 1.特定の1枚のシートを1つのファイルに保存する方法
- 2.すべてのシートを1つのファイルに保存する方法
- 3.すべてのシートを別々のファイルに保存する方法
- 4.指定した複数のシートを別々のファイルに保存する方法
1.特定の1枚のシートを1つのファイルに保存する方法
まずはじめに、特定の1枚のシートをPDF出力する方法です。
以下のコードにて、同じフォルダ内に「pdfsave1.pdf」ファイルを作成して「Sheet1」シートをPDF形式で保存します。
Sub pdfsave1() Dim path As String path = ThisWorkbook.path & "\pdfsave1.pdf" Worksheets("Sheet1").ExportAsFixedFormat Type:=xlTypePDF, Filename:=path, OpenAfterPublish:=True End Sub
2.すべてのシートを1つのファイルに保存する方法
次に、Excelファイル内のすべてのシートを1つのPDFファイルに出力する方法です。
以下のコードにて、同じフォルダ内に「pdfsave2.pdf」ファイルを作成してすべてのシートをPDF形式で保存します。
Sub pdfsave2() Dim path As String path = ThisWorkbook.Path & "\pdfsave2.pdf" ThisWorkbook.ExportAsFixedFormat Type:=xlTypePDF, Filename:=path
End Sub
3.すべてのシートを別々のファイルに保存する方法
続いて、すべてのシートを別々のPDFファイルに出力する方法です。
以下のコードにて、同じフォルダ内にそれぞれのシートの名前と同じファイル名のファイルを作成してすべてのシートをPDF形式で保存します。
Sub pdfsave3() Dim sht As Worksheet Dim path As String For Each sht In Worksheets path = ThisWorkbook.path & "\" & sht.Name & ".pdf" sht.ExportAsFixedFormat Type:=xlTypePDF, Filename:=path Next End Sub
4.指定した複数のシートを別々のファイルに保存する方法
最後に、指定した複数のシートを別々のファイルにPDF出力する方法です。
以下のコードにて、同じフォルダ内に通し番号をファイル名にした「1.pdf」と「2.pdf」というシート名のファイルを作成してそれぞれ「Sheet1」と「Sheet2」のシートをPDF形式で保存します。
Sub pdfsave4() Dim sht As Worksheet Dim path As String
Dim n As Long
n = 0 For Each sht In Worksheets(Array("Sheet1", "Sheet2")) n = n + 1 path = ThisWorkbook.path & "\" & n & ".pdf" sht.ExportAsFixedFormat Type:=xlTypePDF, Filename:=path Next End Sub
以上がExcelのシートをPDF保存する主な方法です。
関連記事:
【Excel VBA 文字列変換】大文字小文字変換方法、全角半角変換方法 - Django Girls and Boys 備忘録
【Excel VBA】文字列比較演算子「like」の使用方法 - Django Girls and Boys 備忘録
【Excel VBA】ファイル一覧やファイル有無確認に使われるDir()の使用方法 - Django Girls and Boys 備忘録
【Excel】プルダウンリストの設定方法 - Django Girls and Boys 備忘録
【Excel VBA】罫線の設定方法 - Django Girls and Boys 備忘録
【Excel VBA】塗りつぶし(背景色)の設定方法 - Django Girls and Boys 備忘録
【Excel VBA】シートをPDF形式で保存する方法 - Django Girls and Boys 備忘録
【Excel VBA】プルダウンリスト(ドロップダウンリスト)作成方法とセル表示形式(R1C1形式)でエラーになった時の対処方法 - Django Girls and Boys 備忘録
【Excel VBA】行の高さの取得、調整、自動調整をする方法 - Django Girls and Boys 備忘録
【Excel VBA】セル参照形式をVBAから変更する方法(A1形式、R1C1形式) - Django Girls and Boys 備忘録
【Excel VBA】改行コード(CR、LF、CRLF)の使用方法 - Django Girls and Boys 備忘録
【Excel VBA】ソースコードの改行方法 - Django Girls and Boys 備忘録
【Excel】の「開発」タブを表示させる方法 - Django Girls and Boys 備忘録
【Excel】ボタンの表示文字を改行する方法 - Django Girls and Boys 備忘録
【Excel】プルダウンリスト 設定方法、元データ追加方法、元データ変更方法 - Django Girls and Boys 備忘録
【Excel VBA】結合セルのコピー方法について - Django Girls and Boys 備忘録
【Excel VBA】あるシートのセル範囲に変更があった時に処理を実行する方法 - Django Girls and Boys 備忘録