帯

VBA Office文書のPDF保存

最近のExcelやWord、PowerPointでは、文書ファイルをPDF形式で保存する機能があります。
その操作方法はとても簡単で、対象の文書ファイルを、それぞれのアプリケーションで開き、保存する際にPDF形式を指定するだけです。
しかし、対象ファイルの数が増えてくると、単純作業なだけに面倒になってきます。
そこで、VBAプログラムを作成して、この作業を自動化しましょう。

ツールファイル添付

VBAプログラムを組み込んだExcelのツールファイルを添付します。

ツールの使い方

Excelのツールファイルを開いて、「PDF保存」ボタンを押すとファイルダイアログが開きます。そのファイルダイアログで、PDF保存対象の文書ファイルを選択して、「OK」ボタンを押します。
すると、PDF形式に変換されたファイルが、対象ファイルと同じフォルダ内に保存されます。

プログラムの解説

プログラムの主な内容を説明します。

SaveAsPdfは、対象の文書ファイルをPDF形式で保存する処理です。
GetObjectで対象の文書ファイルを開き、ファイル拡張子名により、Excel、Word、PowerPointそれぞれのPDF形式保存の処理へ分岐します。

Private Sub SaveAsPdf(sFileName As String)
    :
    Dim oDocument As Object: Set oDocument = GetObject(sFileName)
    
    Select Case LCase(sExtensionName)
        Case "xls", "xlsx", "xlsm"
            oDocument.ExportAsFixedFormat xlTypePDF, sPdfName
    
        Case "doc", "docx", "docm"
            oDocument.ExportAsFixedFormat sPdfName, wdExportFormatPDF
    
        Case "ppt", "pptx", "pptm"
            If 1 <= oDocument.Slides.Count Then
                oDocument.SaveAs sPdfName, ppSaveAsPDF
            End If
    End Select
    
    oDocument.Close
End Sub

さいごに

とてもシンプルなプログラムですが、対象ファイルが大量にある時などは便利かなと思います。
VBAプログラム全体を閲覧されたい方は以下にパスワードを示します。

ここから先は

40字 / 1画像

¥ 100

記事を気に入って頂き、お役に立てたら嬉しいです。