У меня есть функция, которая работает для поиска в подпапках данного каталога и находит нужное имя файла.Тем не менее, он проходит только через один набор подпапок, находит первую и затем проходит до конца подпапок.Однако тогда он просто останавливается.Я просматривал различные темы и пробовал разные варианты, но без радости.
Мне нужно, чтобы затем вернуться к корневому каталогу (скажем, sPath = C: \ Windows) и просмотреть следующую подпапку, просмотреть весь этот каталог, вернуться в корневую папку и т. Д.пока он не найдет нужный файл.Кажется, я не могу заставить эту часть работать, надеясь, что кто-то здесь может помочь указать на то, что мне не хватает.Я пытаюсь сохранить этот набор в корневой папке более высокого уровня, вместо того, чтобы начинать работу в каталоге ниже, чтобы он заработал.Вот функция:
Function recurse(sPath As String, strname As String, strName3 As String)
Dim FSO As New FileSystemObject
Dim myFolder As Scripting.Folder
Dim mySubFolder As Scripting.Folder
Dim myFile As Scripting.file
Dim strJDFile As String
Dim strDir As String
Dim strJDName As String
Set myFolder = FSO.GetFolder(sPath)
' strName = Range("a2").Offset(0, 3)
strName3 = Replace(strName3, "/", " ")
For Each mySubFolder In myFolder.SubFolders
Debug.Print " mySubFolder: " & mySubFolder
For Each myFile In mySubFolder.Files
If "*" & myFile.Name & "*" Like "*" & strName3 & "*" Then
strJDName = myFile.Name
strDir = mySubFolder & "\"
strJDFile = strDir & strJDName
recurse = strJDFile
Exit Function
Else
Debug.Print " myFile.name: " & myFile.Name
End If
Next
recurse = recurse(mySubFolder.Path, strname, strName3)
Next
End Function