📘 Excel逆引き事典

【VBA】特定のフォルダ内の全ファイルをエラー処理付きで削除する方法

毎回手動で特定のフォルダ内の全ファイルを削除するのは大変です。この記事では、Excel VBAを使用して簡単にその作業を自動化し、エラー処理も含めて効率的な方法を紹介します。

サンプルコード

VBA
Option Explicit
Sub DeleteFilesInFolder()
    Dim fso As Object
    Dim folderPath As String
    Dim file As Object
    
    ' フォルダパスの指定
    folderPath = "C:\指定フォルダパス"
    
    Set fso = CreateObject("Scripting.FileSystemObject")
    If Not fso.FolderExists(folderPath) Then
        MsgBox "指定されたフォルダが存在しません。", vbExclamation
        Exit Sub
    End If
    
    Application.ScreenUpdating = False ' 画面更新を停止
    On Error GoTo ErrorHandler ' エラー処理の開始
    For Each file In fso.GetFolder(folderPath).Files
        file.Delete ' ファイルの削除
    Next file
    
    MsgBox "ファイルの削除が完了しました。", vbInformation
    Application.ScreenUpdating = True ' 画面更新を再開
    Exit Sub
ErrorHandler:
    MsgBox "エラーが発生しました: " & Err.Description, vbCritical
    Application.ScreenUpdating = True ' エラー時も画面更新を再開
End Sub

よくある質問

Q 元に戻せますか?

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

Q エラーが出たら?

A.
フォルダパスが正しいか、ファイルへのアクセス権限があるか確認してください。