サブフォルダーのファイルを取得するVBA
1 作成の経緯
ドキュメントの一括作成を迫られたのでw
2 コードを記載
以下のようにファイルA、B、C、Dのフォルダがあります。
以下のようにフォルダの中にエクセルファイルが入っています。
サブフォルダーを取得する実際のコード
Sub サブフォルダのファイルまで取得する() Dim fso As Object: Set fso = CreateObject("scripting.filesystemobject") Dim varTmp As Variant Dim myFolser As String Dim targetPath As String Dim targetSubPath As String Dim files As Variant Dim file As Variant Dim myFile As Variant targetPath = ThisWorkbook.Path For Each varTmp In fso.GetFolder(targetPath).SubFolders 'Debug.Print varTmp.Name targetSubPath = targetPath & "\" & varTmp.Name Set files = fso.GetFolder(targetSubPath) Set file = files.files For Each myFile In file Debug.Print myFile.Name Next Next Set fso = Nothing End Sub
処理結果
3 感想
fsoを作って、サブフォルダを取得してイミディエイトウィンドウに出力しているだけです。
For Each myFile In fileの処理の中で、すべてのサブフォルダのファイルを処理できます!
いつでも、どこかで使えそう!
備忘録でした~。(^^)/~~~