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
簡単でしょ。