📘 Excel逆引き事典

【VBA】特定のフォルダ内の全ファイルを部分一致で削除する方法

日々の業務で大量のファイルを管理していると、特定の文字列を含むファイルだけを一括で削除したい場面がよくあります。手作業では時間がかかる上にミスも増えますが、このVBAマクロを使えば簡単に解決できます。

サンプルコード

VBA
Option Explicit
Sub DeleteFilesWithPartialMatch()
    Dim fso As Object, folder As Object, file As Object
    Dim targetFolder As String, partialMatchString As String
    Set fso = CreateObject("Scripting.FileSystemObject")
    ' 対象フォルダと部分一致文字列を指定
    targetFolder = "C:\path\to\your\folder"
    partialMatchString = "partialmatchstring"
    
    Application.ScreenUpdating = False
    Set folder = fso.GetFolder(targetFolder)
    For Each file In folder.Files
        If InStr(file.Name, partialMatchString) > 0 Then
            file.Delete
        End If
    Next file
    Application.ScreenUpdating = True
End Sub

よくある質問

Q 元に戻せますか?

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

Q エラーが出たら?

A.
フォルダパスや部分一致文字列が正しいか確認してください。