VBAでは、ファイルの一覧を取得する方法が、
Dir関数の組み合わせ等有るけども、
今回は、FileSystemObjectの方が、なんか好きなわけで、サンプルは
FileSystemObjectで
基本的には、GetFolderメソッドを使用して、
ファイルの一覧を取得するだけ。
MSDNも併せて参照してちょ。
サンプル
Dim objFso As Object 'ファイルシステムオブジェクト用
Dim objFolder As Object 'フォルダオブジェクト用
Dim vFileList As Variant 'コレクション用(ループ用)
'ファイルシステムオブジェクト生成
Set objFso = CreateObject("Scripting.FileSystemObject")
'ファイル一覧取得
Set objFolder = objFso.GetFolder(sBookPath).Files
‘下記の様な書き方もOK。読みやすいのが一番なんで、サンプルは分解
'CreateObject("Scripting.FileSystemObject").GetFolder( sBookPath ).SubFolders
'一覧を表示ループ
For Each vFileList In objFolder
'デバッグウインドウに出力
Debug.Print vFileList.Name
Next
Set objFso = Nothing
Set objFolder = Nothing
ちなみに、
GetExtensionName を使用して、
特定の拡張子のファイルのみを取得する事も可能でごじゃる。
一覧のループ部分を下記に変更。
'一覧を表示ループ
For Each vFileList In objFolder
If objFso.GetExtensionName(vFileList.Name) = "xls" Then
Debug.Print vFileList.Name
End If
Next
簡単でしょ。










