フォルダにあるファイル名を一覧で取得

指定したフォルダにあるファイル名を一覧で取得する。

VBAで指定したフォルダにあるファイル名の一覧を取得します。

一覧の取得には「FileSystemObjectのGetFolderメソッド」と「Dir関数」を利用する2種類を方法があります。
どちらの方法でも実行結果としては同じになります。

 ●フォルダ内のファイルを一覧で取得(FileSystemObject使用)

'******************************************************************
' フォルダ内のファイルを一覧で取得
'*****************************************************************
Sub getFileList_FSO()
    
    'フォルダを指定
    Dim sFolderPath As String
    sFolderPath = "C:\VBA\List\"
    
    'FileSystemObjectオブジェクトの作成
    Dim oFso As Object
    Set oFso = CreateObject("Scripting.FileSystemObject")
    
    'フォルダオブジェクトの取得
    Dim oFolder As Object
    Set oFolder = oFso.GetFolder(sFolderPath)

    'ファイル一覧の作成
    Dim oFile As Object
    For Each oFile In oFolder.Files
        Debug.Print oFile.Name
    Next

    Set oFile = Nothing
    Set oFolder = Nothing
    Set oFso = Nothing

End Sub

 ■実行結果

対象のフォルダ


 ●フォルダ内のファイルを一覧で取得(Dir関数)

'******************************************************************
' フォルダ内のファイルを一覧で取得
'*****************************************************************
Sub getFileList_Dir()
    
    'フォルダを指定
    Dim sDirPath As String
    sDirPath = "C:\VBA\List\"
    
    'ファイル一覧を取得
    Dim sFile As String
    sFile = Dir(sDirPath & "*", vbNormal)
    Do While sFile <> ""
        Debug.Print sFile
        sFile = Dir()
    Loop

End Sub

 ■実行結果
   ※実行結果はFileSystemObjectで取得した一覧と同じ結果になります。