WordでPDFエクスポートをするVBAを書いた

Wordを最近使う機会があって、毎回同じ名前を入力してエクスポートするのが面倒だったので書いてみた。

エクスポートのやり方

Sub ExportToPDF()
    ActiveDocument.ExportAsFixedFormat OutputFileName:="output.pdf", ExportFormat:=wdExportFormatPDF
End Sub

これを実行すればWordでPDFのエクスポートができるようになる。
任意の名前にするのは、OutputFileName:="output.pdf" の 「"output.pdf"」自分の出力したい名前にしておけばいい。

勉強用のメモ

勉強用に、参照オブジェクトのオブジェクト変数への代入処理をメモしておく。

Sub ExportToPDF()
    Dim wordDoc As Word.Document
    Set wordDoc = ActiveDocument
    wordDoc.ExportAsFixedFormat OutputFileName:="output.pdf", ExportFormat:=wdExportFormatPDF      
    Set wordDoc = Nothing
End Sub

定義した変数への代入は、Setですることができる。これがよく分からなくてVBAは敬遠してたけどやっとわかった。Visual Basic Editorのヘルプにドキュメントがあったのでそれをちゃんと見ないといけない。

VBAで開発で覚えたほうがいいこと

デバッグはDibug.Printを使って、Visual Basic Editorの[表示]->イミディエイトウィンドウに出力するとデバッグがちゃんとできるようになる。

F8でできるステップ実行、[表示]→[オブジェクトブラウザー]の使い方も覚えるとちゃんとVBAの開発ができるようになる。

VBAで気を付けたほうがいいこと

  • どうもメソッドなどに()をつけるとエラーの原因になるので付けないほうがいい。
  • 付属のヘルプを見よう。ヘルプは
    Visual Basic Editor→
      ヘルプ→
      Microsoft Visual Basic for Application ヘルプ

で、豊富な情報を見ることができる。