Excel VBAでpdfにワークシートを保存する方法

エンジニア

読了の目安時間: 143

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

キヨタツ
キヨタツの一言

Office2000時代はpdf形式で印刷してた記憶が蘇り、ちょっと懐かしい。

今読んだ記事をシェアする

vba-thumb

Excel VBAでpdfにワークシートを保存する方法

  • このエントリーをはてなブックマークに追加
  • Pocket

このブログサイトが参考になった人は、いいねボタン! 更新情報も受け取れます!

arrow
デル株式会社
  • Pocket
  • このエントリーをはてなブックマークに追加

キヨタツ

キヨタツ

WEBを中心に、色々な制作をする個人事業主です。過去、エンジニア&webディレクターで会社勤めをしていました。エンジニアで勤めていた頃は、MATLAB/simulink/VBA/C/C++など扱っていました。生産管理、MECE、オブジェクト指向など、エンジニアの知識はweb業界に入っても、かなり役立ちます。性格は、自虐好きです。