【Excel VBA】アクティブシートを一発でPDFで出力する

スポンサーリンク

【Excel VBA】アクティブシートを一発でPDFで出力する

ExcelではVBAを用いることによって様々なことを自動化することができます。
ルーティン作業等は自動化して、業務を効率よくそして楽にしましょう!

今回ご紹介するのはVBAでExcelのアクティブシートを一発でPDF出力する方法です。

通常、アクティブシートをPDFとして出力したい場合、「保存」からPDFに変換することができます。
通常のやり方はPDFファイルのつくりかたを参考にしていてください。

しかしこれだと何回もボタンをクリックしたりしないといけません。
そこでアクティブシートを一発でPDFに変換することができるVBAマクロをご紹介します。

サンプルコード


    Dim fileName As String '保存先フォルダパス&ファイル名
    
    fileName = ThisWorkbook.Path & "\" & ThisWorkbook.Name & ".pdf"
   
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, fileName:=fileName

サンプルコード解説

現在アクティブなExcelのフォルダパスとブック名を取得し、
同フォルダにブック名と同じ名前でPDFとして出力させています。

フォルダパスは「ThisWorkbook.Path」で取得できます。
ブック名は「ThisWorkbook.Name」で取得できます。

そして「ActiveSheet.ExportAsFixedFormat」で指定する形式で出力します。
PDF形式で出力したい場合「 Type:=xlTypePDF」とタイプを指定します。

このときに「fileName:=fileName」によって、
出力ファイルの名称にブック名を指定しています。
ブック名の箇所は任意の名前に変更するような処理にしてももちろんOKです。

ちなみに印刷プレビュー等で指定したイメージでPDFが生成されます。
(印刷イメージと一緒です)

また、これを応用して全シートを個別に生成するといった拡張も可能です。
PDFファイル形式だけでなく、CSVファイル形式やTXTファイル形式といった応用もできます。

作業内容によっていろいろ変えて試してみてください。
Excelで帳票を作っていたりする方には特におススメの方法です。

今後もExcelやVBAについてお役立ち情報などご紹介していきたいと思います!!

以上、「【Excel VBA】アクティブシートを一発でPDFで出力する」でした。

スポンサーリンク

シェアする

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

フォローする