【VBA】Wordファイルを無料で一括でPDFに変換する方法

VBA

日々の業務でWordファイルPDFに変換しないといけないとき,みなさんはどのようにしていますか?

いろんな方法があると思いますが,もし下記のようにしている方は,こちらの記事が役に立つこと間違いなしです

WordをPDFに変換する方法の例
  • ファイル」⇒「名前を付けて保存」⇒「ファイルの種類で拡張子を(.pdf)に」⇒「保存
  • ファイル」⇒「印刷」⇒「プリンターをMicrosoft Print to PDFに設定」⇒「印刷
  • ファイル」⇒「エクスポート」⇒「PDF/XPSの作成

1ファイルだけをPDFにするなら特に面倒でもないですが,もしWordファイルが10個や20個だったらどうでしょうか…?

絶対にやりたくないですよね(笑)

そんなとき,AdobeAcrobat pro(有料版)を使えば一括でPDFに変換することができますが,お金を払うのはちょっと…という方も多いのではないでしょうか。

そんなときに,Wordのマクロを使用すればフォルダ内のWordを一括でPDFに変換することができます。本日の記事を読めば,下記のようなことができるようになります。

ここから手順を説明するので,PDFに変換したいWordファイルは事前に一つのフォルダにまとめておいてください。

マクロとは

マクロは,繰り返し行う操作を記録して自動化できるとても便利なプログラムです。

Wordの初期設定では使えないため,下記の操作が必要です。

Wordでマクロを使うための設定方法

  1. Wordを開きます。
  2. メニューバーの上部にある「ファイル」をクリックします。
  3. 左下にある「オプション」をクリックします。
  4. オプションウィンドウが表示されます。左側のリストから「リボンのユーザー設定」を選択します。
  5. 右側の「メイン タブ」のリストボックスから「開発」を選択し,チェックボックスをオンにします。
  6. OK」をクリックして設定を保存します。

これでWordでマクロが使えるようになりました。

設定が完了したら,下のようにWord文書の上部に「開発」タブが追加されます。

「開発」タブの一番左のVisual Basicを選択したら,下記のような画面が出てくるので,赤色の部分に「全体のコード」をコピペして入力します。

全体のコード

Sub ConvertWordDocsToPDF()
    Dim folderPath As String
    Dim fileName As String
    Dim wordDoc As Document
    Dim pdfPath As String

    ' フォルダ選択ダイアログを表示
    With Application.FileDialog(msoFileDialogFolderPicker)
        .AllowMultiSelect = False
        .Title = "PDFに変換するWordファイルが含まれるフォルダを選択してください"
        If .Show = -1 Then
            folderPath = .SelectedItems(1) & "\"
        Else
            MsgBox "フォルダが選択されませんでした。", vbExclamation
            Exit Sub
        End If
    End With
    
    ' 指定されたフォルダ内のすべてのWordファイルを取得
    fileName = Dir(folderPath & "*.docx")
    
    Application.ScreenUpdating = False
    
    While fileName <> ""
        ' Word文書を開く
        Set wordDoc = Documents.Open(fileName:=folderPath & fileName)
        
        ' PDFとして保存
        pdfPath = folderPath & Replace(fileName, ".docx", ".pdf")
        wordDoc.ExportAsFixedFormat OutputFileName:=pdfPath, _
            ExportFormat:=wdExportFormatPDF, OpenAfterExport:=False, OptimizeFor:=wdExportOptimizeForPrint, _
            Range:=wdExportAllDocument, From:=1, To:=1, Item:=wdExportDocumentContent, _
            IncludeDocProps:=True, KeepIRM:=True, CreateBookmarks:=wdExportCreateNoBookmarks, _
            DocStructureTags:=True, BitmapMissingFonts:=True, UseISO19005_1:=False
        
        ' 文書を閉じる
        wordDoc.Close SaveChanges:=wdDoNotSaveChanges
        
        ' 次のファイル名を取得
        fileName = Dir
    Wend
    
    Application.ScreenUpdating = True
    
    MsgBox "変換が完了しました。", vbInformation
End Sub





コピペができたら,「実行」ボタンを押します。

実行すると,下のようなフォルダを選択する画面が出てくるので,PDFに変換したいフォルダを選択して「OK」を押します。

すると,フォルダ内のWordが一括でPDFに変換されます!

下記のようになれば成功です。

まとめ

いかがでしたか? マクロを活用すれば,手動だと面倒な作業がとても簡単になります。
もし普段の業務でWordをPDFに変換する場面がある方はぜひご活用ください!!

ここまで読んでくださりありがとうございました。
今後も日々の業務に役立つ情報をご紹介していきます!

VBAを学習するのにおすすめな本

コメント

タイトルとURLをコピーしました