| 
    
     |  | まちゃ さん、おはようございます。 
 >file-------フォルダ1---最新---book1.xls
 >      フォルダ2---最新---book2.xls
 >      フォルダ3---最新---book3.xls
 >
 >のような階層で入っているのですが
 >ファイル指定の仕方がわかりません。
 
 >fileの下に名前の違うフォルダがいくつか入っています。
 >各フォルダの下のフォルダは名前が一緒で”最新”とあります。
 >その下のxlsファイルをすべて拾っていきたいのです。
 >(xlsファイルの名前も統一されていません)
 目安箱の、「【74】FilePathを列挙するサンプル 」より。
 Sub CallFilePathList1()
 Dim objFSO     As Object
 Dim strTargetPath  As String      '対象フォルダパス
 
 Set objFSO = CreateObject("Scripting.FileSystemObject")
 strTargetPath = "C:\File" '親
 Call EnumFilePathList1(objFSO.GetFolder(strTargetPath))
 End Sub
 '本体
 Sub EnumFilePathList1(objFolder As Object)
 Dim objTargetFile As Object
 Dim objSubFolder  As Object
 
 'ファイル名を列挙
 For Each objTargetFile In objFolder.Files
 'エクセルファイルならばイミディエイトウィンドウに転記
 With objTargetFile
 If UCase(Right(.Path, 3)) = "XLS" Then Debug.Print .Path
 End With
 Next objTargetFile
 
 'サブフォルダを検索
 For Each objSubFolder In objFolder.SubFolders
 Call EnumFilePathList1(objSubFolder)
 Next objSubFolder
 End Sub
 これでエクセルファイル名を取得して、フォルダ名が条件を満たすものを取得するといいのではないでしょうか?
 
 |  |