📘 Excel逆引き事典

【VBA】特定のフォルダ内の全ファイルを完全一致で非表示にする方法

日々の業務で、特定のファイルを一括して非表示にしたい経験はありませんか?手作業では時間がかかる上、ミスも増えてしまいます。この記事では、VBAを使って簡単に解決する方法を紹介します。

サンプルコード

VBA
Option Explicit
Sub HideFiles()
    Dim fso As Object, folder As Object, file As Object
    Dim targetFolder As String
    Dim fileNamePattern As String
    
    ' 目標フォルダとファイル名パターンを指定
    targetFolder = "C:\Users\User\Documents\TargetFolder"
    fileNamePattern = "*.txt" ' 完全一致で非表示にしたいファイル名のパターンを設定
    
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set folder = fso.GetFolder(targetFolder)
    
    Application.ScreenUpdating = False
    For Each file In folder.Files
        If LCase(file.Name) = LCase(fileNamePattern) Then ' 完全一致のチェック
            file.Attributes = file.Attributes Or 2 ' ファイルを非表示にする
        End If
    Next file
    
    Application.ScreenUpdating = True
End Sub

よくある質問

Q 元に戻せますか?

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

Q エラーが出たら?

A.
指定したフォルダやファイル名パターンが正しいか確認してください。