【Word VBA】WordファイルをPDF形式で保存するWordマクロ

2016年10月7日

現在開いているWordファイルを同じファイル名でPDF形式で保存します。

PDFファイル作成後にPDFを開きません。WordからPFD形式で保存できますが、毎回フォルダやファイル名を指定するダイアログボックスが開いて面倒です。

さらに、PDFファイルを作成後にPDFファイルが開いてしまいます。内容を確認する上ではいいかもしれませんが、数十のPDFファイルを一気に作る場合、ちょっと面倒です。

このマクロでできること

現在開いているWordファイルを指定したフォルダにPDF形式で保存します。

PDFファイルを作成後でもファイルを開きません。どんどんファイルを作成できます。

なお、すでに同じ名前のPDFファイルが存在する場合でも上書きで新しいファイルを作成します。同名のファイルが存在する旨の確認用のメッセージは表示されませんので、その点に気をつけてください。

(実行前)

みんなのワードマクロ.docxを開いた状態で、Wordでマクロを実行します。

PDF

(実行後)

同じフォルダ内に、同じファイル名でPDF形式でファイルが保存されます。

PDF

マクロの解説

16行目で、PDFファイルを保存するフォルダを指定します。

紹介しているコードでは、Wordファイルの保存先と同じフォルダなのですが、たとえば、デスクトップの特定のフォルダやサーバー上の特定のフォルダに指定できます。

ExportAsFixedFormatメソッドにてPDFファイルに変換しています。このメソッドでは、デフォルトの設定で、ファイル作成後にファイルを開きません。

マクロ


Sub PDF形式で保存()

 Dim myFileName As String 'ファイル名
 Dim myFilePath As String '保存先のフォルダパス
 Dim myDoc As Document
 Dim intPos As Integer 'ピリオドの位置
 
 Set myDoc = ActiveDocument
 
 '拡張子のない名称を取得
 myFileName = myDoc.Name
 intPos = InStrRev(myFileName, ".")
 myFileName = Left(myFileName, intPos - 1)
 
 'PDFファイルで保存
 myFilePath = myDoc.Path 'Wordファイルと同じフォルダ
 myDoc.ExportAsFixedFormat _
  OutputFileName:=myFilePath & "\" & myFileName & ".pdf", _
  ExportFormat:=wdExportFormatPDF
 
 Set myDoc = Nothing
 
End Sub

関連記事

【コード】フォルダ内のWordファイルをPDF形式で一括保存するWordマクロ

-コード
-, , , ,