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.

Antworten auf die Frage(6)

Ihre Antwort auf die Frage