📘 Excel逆引き事典

【VBA】特定のフォルダ内の全ファイルをPDF保存する方法

手作業で大量のファイルをPDFに変換するのは時間がかかります。この記事では、VBAを使用して特定フォルダ内の全てのエクセルファイルを自動的にPDF形式で保存する方法を紹介します。

サンプルコード

VBA
Option Explicit
Sub SaveAllFilesAsPDF()
    Dim fso As Object, folder As Object, file As Object
    Dim wb As Workbook
    Dim filePath As String
    
    ' フォルダパスの指定
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set folder = fso.GetFolder("C:\Path\To\Your\Folder")
    
    Application.ScreenUpdating = False
    For Each file In folder.Files
        If Right(file.Name, 4) = ".xls" Or Right(file.Name, 5) = ".xlsx" Then
            Set wb = Workbooks.Open(file.Path)
            wb.ExportAsFixedFormat Type:=xlTypePDF, Filename:=file.Path & "_converted.pdf", Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
            wb.Close SaveChanges:=False
        End If
    Next file
    
    Application.ScreenUpdating = True
End Sub

よくある質問

Q 元に戻せますか?

A.
VBAの実行結果は「元に戻す」が効きません。必ずバックアップを取ってから実行してください。

Q エラーが出たら?

A.
フォルダパスやファイル名、拡張子が正しいか確認してください。