指定したフォルダにあるファイル名を一覧で取得する。
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で取得した一覧と同じ結果になります。


