お世話になります。
以下のサイトを参考にして、サブフォルダをワイルドカード検索しています。
https://www.limecode.jp/entry/utility/partialmatch-foldersearch
これを元に、サブフォルダのさらに下の、このサイトでいう子フォルダの下(孫フォルダとでもいうでしょうか)
まで検索してフォルダを見つけたいのですが、可能でしょうか?
もしそれが可能であれば、コードをどう改修すればよいかご教授頂ければ幸いです。
お世話になります。
以下のサイトを参考にして、サブフォルダをワイルドカード検索しています。
https://www.limecode.jp/entry/utility/partialmatch-foldersearch
これを元に、サブフォルダのさらに下の、このサイトでいう子フォルダの下(孫フォルダとでもいうでしょうか)
まで検索してフォルダを見つけたいのですが、可能でしょうか?
もしそれが可能であれば、コードをどう改修すればよいかご教授頂ければ幸いです。
とりあえずで回答しますが、孫フォルダを対象にしたいなら
Sub フォルダ名が売上データ○○になっているフォルダを取得する()
Dim FSO As New FileSystemObject
Dim 検索フォルダ As Folder
Set 検索フォルダ = FSO.GetFolder("C:\Users\○○\Desktop\検索フォルダ")
Dim 該当フォルダ As Folder
Dim フォルダ候補 As Folder
For Each フォルダ候補 In 検索フォルダ.SubFolders
If フォルダ候補.Name Like "売上データ*" Then
Set 該当フォルダ = フォルダ候補
Exit For
ElseIf
'フォルダ候補(子フォルダ)を親として同じことをする
End If
Next
If Not 該当フォルダ Is Nothing Then
MsgBox "該当フォルダのパス:" & 該当フォルダ.Path
End If
End Sub
とするだけですね
それぞれの変数がどのように使われるのか理解して、必要に応じて必要な変数を用意してください
ただし、別階層のフォルダを対象とするということは、同名のフォルダがある可能性が否定できないので、処理の順番によっては望んだ結果にならない場合もあります。また、「見つかったものは全て」というのが望みの場合もあるでしょう。仕様を明確にしましょう
ありがとうございます!頂いた情報をよく読み、チャレンジしてみます。