VBA開発

フォルダからファイルを一覧で抜き出す【エクセルマクロ】

フォルダの中から「ファイル名」を一覧で抜き出す

Windowsのフォルダ内にあるファイル名を書き出さないといけない時に使用するマクロです。
マクロで一発抜き出しすることで、コピペミス抜き出しミスがなくなります。

ファイル一覧取得するサンプルコード

'■特定フォルダから「特定拡張子」のファイルを一覧形式で抜き出す
Sub call_file_get_dir()
    
    Dim Path As String
    Dim FName As String
    Dim i As Long
    
    '■ファイル名取得するフォルダパス、該当拡張子を入れる
    Path = "C:\Sample\"
    FName = Dir(Path & "*.xlsx")  'ワイルドカード(*)を使用し、xlsx拡張子のファイルを全て
    i = 1
    
    '■Loopでファイル一覧を取得する
    Do While FName <> ""
       Cells(i, 1) = FName
       i = i + 1
       FName = Dir()
    Loop
End Sub

こんな時はどうする?

複数の拡張子のファイルを取得

Dir関数で全てのファイル取得し、拡張子を判定しましょう。


'■特定フォルダから複数の「特定拡張子」のファイルを一覧形式で抜き出す
Sub call_file_get_dir_multh()
    
    Dim Path As String
    Dim FName As String
    Dim i As Long
    
    '■ファイル名取得するフォルダパス、該当拡張子を入れる
    Path = "C:\Sample\"
    FName = Dir(Path & "*")  'ワイルドカード(*)を使用し、ファイルを全て
    i = 1
    
    '■ファイル名の末尾4文字を見て判断
    Do While FName <> ""
        If Right(FName, 4) = "xlsx" Or Right(FName, 4) = ".csv" Then
            Cells(i, 1) = FName
            i = i + 1
        End If
        FName = Dir()
    Loop
End Sub

 

コメント

タイトルとURLをコピーしました