|
まちゃ さん、おはようございます。
>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
これでエクセルファイル名を取得して、フォルダ名が条件を満たすものを取得するといいのではないでしょうか?
|
|