Excel VBAでpdfにワークシートを保存する方法
Excel VBAでPDF形式の保存をする際は、Workbook、Worksheet、Rangeなどのオブジェクトに対し、ExportAsFixedFormatメソッドを実行すればOKです。
ソースコード
Public Sub test()
Dim outDir As String
outDir = C:\test.pdf"
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=outDir
End Sub
上記のコードでは、アクティブなシートを「test.pdf」と命名して、pdf保存しています。
ページ設定をする
印刷時のページ設定を行うには、PageSetupオブジェクトを使います。PageSetupオブジェクトを用いることで、印刷の向きや、各種余白、用紙サイズなど、すべての印刷設定を指定することができます。
印刷の向きを横に設定したコードは下記の通り。Withを使うと、コンパクトなコードで表記することができます。
Public Sub test2()
Dim outDir As String
outDir = C:\test.pdf"
With ActiveSheet.PageSetup
.PageSetup.Orientation = xlLandscape
.PrintOut
End With
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=outDir
End Sub
他にも、様々な指定ができますので、細かい指定をしたい方は下記リンクを参照してみてください。
▼PageSetupオブジェクトのメンバー一覧
https://msdn.microsoft.com/ja-jp/library/office/ff841253.aspx