Loop durch Dateien in einem Ordner mit VBA?
Ich möchte die Dateien eines Verzeichnisses mit @ durchlauf vba in Excel 2010.
In der Schleife brauche ich
Der Dateiname unddas Datum, an dem die Datei formatiert wurde.Ich habe das Folgende codiert, was gut funktioniert, wenn der Ordner nicht mehr als 50 Dateien enthält, andernfalls ist es lächerlich langsam (ich brauche es, um mit Ordnern mit> 10000 Dateien zu arbeiten). Das einzige Problem dieses Codes ist, dass der Vorgang zum Nachschlagen vonfile.name
nimmt extrem viel Zeit in Anspruch.
Code, der funktioniert, aber waaaaaay zu langsam ist (15 Sekunden pro 100 Dateien):
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
Problem gelöst
Mein Problem wurde durch die unten stehende Lösung mit @ gelösDir
auf besondere Weise (20 Sekunden für 15000 Dateien) und zum Überprüfen des Zeitstempels mit dem BefehlFileDateTime
. Berücksichtigt man eine andere Antwort von weniger als 20 Sekunden, wird diese auf weniger als 1 Sekunde reduziert.