Я хотел бы просмотреть файлы каталога, используя vba в Excel 2010.
В цикле мне понадобится
Я написал следующий код, который отлично работает, если в папке не более 50 файлов, в противном случае он работает до смешного медленно (Мне нужно, чтобы он работал с папками с >10000 файлов ). Единственная проблема этого кода заключается в том, что операция поиска file.name
занимает очень много времени.
Код, который работает, но слишком медленный (15 секунд на 100 файлов):
Sub LoopThroughFiles()
Dim MyObj As Object, MySource As Object, file As Variant
Set MySource = MyObj.GetFolder("c:\testfolder\")
For Each file In MySource.Files
If InStr(file.name, "test") > 0 Then
MsgBox "found"
Exit Sub
End If
Next file
End Sub
Проблема решена:
Dir
особым образом (20 секунд на 15000 файлов )и для проверки метки времени с помощью команды FileDateTime
.