【VBA】特定のフォルダ内の全ExcelファイルをPDF保存する方法
日々大量のExcelファイルを扱う業務では、個別にファイルを開いてPDFに変換するのは効率が悪いですよね。この記事では、特定のフォルダ内の全てのExcelファイルを一括でPDFに変換し保存するVBAマクロを作成します。
サンプルコード
VBA
Option Explicit
Sub ConvertAllFilesToPDF()
Dim folderPath As String
Dim fileName As String
Dim filePath As String
Dim wb As Workbook
' フォルダパスを指定
folderPath = "C:\Users\YourName\Documents\ExcelFiles"
Application.ScreenUpdating = False
Application.DisplayAlerts = False
fileName = Dir(folderPath & "*.xlsx")
Do While fileName <> ""
filePath = folderPath & fileName
Set wb = Workbooks.Open(filePath)
' PDF保存の設定
With wb.PublishObjects.Add(xlPubHTML, , wb.Name, ActiveSheet.Name, xlQualityStandard)
.File = Replace(wb.FullName, "xlsx", "pdf")
.Publish (True)
End With
wb.Close SaveChanges:=False
fileName = Dir()
Loop
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Subよくある質問
Q 元に戻せますか?
A.
VBAの実行結果は「元に戻す」が効きません。必ずバックアップを取ってから実行してください。
Q エラーが出たら?
A.
フォルダパスやファイル名、拡張子が正しいか確認してください。また、アクセス権限がない場合もエラーの原因となることがあります。