'PDFとして保存する
Sub TEST1()
'ブックをPDFで保存
ThisWorkbook.ExportAsFixedFormat 0, ThisWorkbook.Path & "\TEST.pdf"
End Sub
マクロファイルを用意しました。
変換するファイル
フォルダ内に上記のVBAコードを記載したマクロファイルを用意します。
ファイルには、3つのシートを用意しました。
すべてのシートをPDFで保存してみます。
では、VBAコードを実行します。
実行するとPDFで保存することができます。
PDFで保存できた
PDFが作成されています。
「TEST1.pdf」のファイルを開いてみます。
「すべてのシート」をPDFで保存できた
Excelファイル内の「すべてのシート」を、PDFで保存することができました。
1つのシートをPDFとして保存
次は、ブック内の「1つのシート」を、PDFとして保存してみます。
手順としては、次のようになります。
1つのシートを新規ブックにコピー
新規ブックをPDFとして保存
新規ブックを閉じる
という流れです。
1つのシートをPDFとして保存するVBAコードは、次のようになります。
'1つのシートをPDFで保存
Sub TEST2()
'「Sheet1」を新規ブックにコピー
Worksheets("Sheet1").Copy
'新規ブックをPDFで保存
ActiveWorkbook.ExportAsFixedFormat 0, ThisWorkbook.Path & "\TEST.pdf"
'新規ブックを閉じる
ActiveWorkbook.Close False
End Sub
フォルダ内に、マクロファイルを用意しました。
マクロファイルを用意
フォルダ内にマクロファイルを用意しました。
やりたいことは、現在のブック内で、「1つのシート」をPDFで保存したい、ということになります。
では、VBAコードを実行してみます。
VBAを実行すると、現在のブックをPDFで保存することができます。
PDFで保存できた
「TEST.pdf」のファイルを開いてみます。
「1つのシート」のみをPDFで保存できた
ブック内の「1つのシート」のみをPDFで保存することができました。
複数シートをPDFとして保存
次は、ブック内の「2つのシート」を、PDFとして保存してみます。
手順としては、次のようになります。
2つのシートを新規ブックにコピー
新規ブックをPDFとして保存
新規ブックを閉じる
という流れです。
2つのシートをPDFとして保存するVBAコードは、次のようになります。
'複数シートをPDFで保存
Sub TEST3()
'「Sheet1」と「Sheet2」を新規ブックにコピー
Worksheets(Array("Sheet1", "Sheet2")).Copy
'新規ブックをPDFで保存
ActiveWorkbook.ExportAsFixedFormat 0, ThisWorkbook.Path & "\TEST.pdf"
'新規ブックを閉じる
ActiveWorkbook.Close False
End Sub
フォルダ内に、マクロファイルを用意しました。
マクロファイルを用意
フォルダ内にマクロファイルを用意しました。
やりたいことは、現在のブック内で、「2つのシート」をPDFで保存したい、ということになります。
では、VBAコードを実行してみます。
VBAを実行すると、現在のブックをPDFで保存することができます。
PDFで保存できた
「TEST.pdf」のファイルを開いてみます。
「2つのシート」をPDFで保存できた
ブック内の「2つのシート」をPDFで保存することができました。
VBAで別ブックをPDFとして保存する
次は、VBAで、「別ブック」をPDFとして保存する、というのをやってみます。
別ブックをPDFとして保存
「別ブック」をPDFとして保存する手順は、次のようになります。
別ブックを開く
別ブックをPDFで保存
別ブックを閉じる
という流れになります。
「別ブック」をPDFとして保存するVBAコードは、次のようになります。
'別ブックをPDFへ変換
Sub TEST4()
'PDFへ変換するファイルを開く
Workbooks.Open FileName:=ThisWorkbook.Path & "\TEST1.xlsx"
'開いたブックを、PDFで保存
ActiveWorkbook.ExportAsFixedFormat 0, ThisWorkbook.Path & "\TEST1.pdf"
'開いたブックを閉じる
ActiveWorkbook.Close False
End Sub
PDFへ変換するExcelファイルはこちらです。
変換するファイル
では、VBAコードを実行してみます。
「別ブック」をPDFで保存できた
「TEST1.pdf」というPDFが作成されています。
別ブックをPDFで保存することができました。
複数の別ブックをPDFとして保存
次は、複数の別ブックをPDFで保存する、というのをやってみます。
大量のExcelファイルを、PDFに変換したい場合に使えます。
複数の別ブックをPDFで保存する手順は、次のようになります。
①フォルダ内のファイルを1つ取得する
②取得したファイルを開く
③エクセルファイルの場合はPDFで保存する
④次のファイルを取得する
⑤手順②~③を繰り返す
という流れになります。
複数の別ブックをPDFで保存するVBAコードは、次のようになります。
'複数の別ブックをPDFへ一括変換
Sub TEST5()
Dim A
'フォルダ内のファイルを指定
A = Dir(ThisWorkbook.Path & "\*")
'フォルダ内のすべてのファイルを探す
Do While A <> ""
'Excelファイルの場合
If InStr(A, ".xlsx") > 0 Then
'ブックを開く
Workbooks.Open FileName:=ThisWorkbook.Path & "\" & A
'PDFとして保存
Workbooks(A).ExportAsFixedFormat 0, ThisWorkbook.Path & "\" & Replace(A, ".xlsx", ".pdf")
'ファイルを閉じる
Workbooks(A).Close False
End If
'次のファイルを入力
A = Dir()
Loop
End Sub