【VBA】特定のフォルダ内の全ファイルを部分一致で非表示にする方法
日々の業務では大量のファイルやフォルダを管理する必要がありますが、その中から特定の条件に一致するものを一括で非表示にすることは手作業では大変です。この記事では、VBAを使用して特定の文字列を持つファイルを非表示にする方法を紹介します。
サンプルコード
VBA
Option Explicit
Sub HideFilesWithPartialMatch()
Dim fso As Object, folder As Object, file As Object
Dim targetFolder As String, partialMatchText As String
Set fso = CreateObject("Scripting.FileSystemObject")
' 対象フォルダのパスを指定
targetFolder = "C:\Users\User\Documents"
' 部分一致する文字列を指定
partialMatchText = "example"
Application.ScreenUpdating = False
For Each folder In fso.GetFolder(targetFolder).SubFolders
For Each file In folder.Files
If InStr(1, file.Name, partialMatchText) > 0 Then
' ファイルを非表示にする(Windows Explorerでのみ有効)
file.Attributes = file.Attributes + 3
End If
Next file
Next folder
Application.ScreenUpdating = True
End Subよくある質問
Q 元に戻せますか?
A.
VBAの実行結果は「元に戻す」が効きません。必ずバックアップを取ってから実行してください。
Q エラーが出たら?
A.
シート名や列番号が正しいか確認してください。また、フォルダパスが正しく指定されているかも確認してください。