Прежде всего, я должен сказать, что я совсем новичок в VBA. Я работал с Excel уже несколько лет и знаю это довольно хорошо, но редактор VBA - это что-то новое для меня.
Мне нужно было создать макрос, который смог найти родительскую папку, где находится папка с определенным именем был и открыли его. Мне удалось это сделать (см. Код ниже). Тем не менее, поиск слишком медленный. Весь смысл сценария состоит в том, чтобы сэкономить время и быть точным, и на данный момент поиск папки в windows проводнике происходит быстрее. Макрос занимает около 1-2 минут, в то время как исследователь занимает 10 секунд.
Мне было интересно, будет ли способ ускорить это. Любая помощь будет принята с благодарностью.
Option Explicit
Dim FileSystem As Object
Dim S As Boolean
Dim HostFolder As String
Sub FindFolder()
HostFolder = "W:\Branches\City\Name\NAME QUOTING"
Set FileSystem = CreateObject("Scripting.FileSystemObject")
S = False
DoFolder FileSystem.GetFolder(HostFolder)
If S = False Then
MsgBox "Folder not found"
End If
End Sub
Sub DoFolder(Folder)
Dim SubFolder
Dim StockCode As String
For Each SubFolder In Folder.SubFolders
DoFolder SubFolder
StockCode = Selection.Value
If SubFolder.Name Like "*" & StockCode & "*" Then
Call Shell("explorer.exe " & SubFolder.ParentFolder, vbNormalFocus)
S = True
Exit For
End If
Next SubFolder
End Sub