【VBA】特定のフォルダ内の全ファイルをバックグラウンドで削除する方法
日々の業務の中で、大量の不要なファイルを手動で削除するのは労力と時間を要します。この記事では、Excel VBAを使用して特定のフォルダ内の全てのファイルを高速にバックグラウンドで削除する方法を紹介します。
サンプルコード
VBA
Option Explicit
Sub DeleteFilesInFolder()
Dim fso As Object, folder As Object, file As Object
Dim folderPath As String
' フォルダパスの指定
folderPath = "C:\指定フォルダパス"
Set fso = CreateObject("Scripting.FileSystemObject")
If Not fso.FolderExists(folderPath) Then
MsgBox "指定されたフォルダが存在しません。", vbExclamation
Exit Sub
End If
Application.ScreenUpdating = False ' 画面更新を停止
Set folder = fso.GetFolder(folderPath)
For Each file In folder.Files
On Error Resume Next
file.Delete ' ファイルの削除
On Error GoTo 0
Next file
Application.ScreenUpdating = True ' 画面更新を再開
End Subよくある質問
Q 元に戻せますか?
A.
VBAの実行結果は「元に戻す」が効きません。必ずバックアップを取ってから実行してください。
Q エラーが出たら?
A.
指定したフォルダパスやファイル名が正しいか確認してください。