Registriert seit: 29.09.2015
Version(en): 2030,5
Schau mal :
https://www.clever-excel-forum.de/Thread...#pid307533Letzte Zeile.
Besser als 100% geeignet kann ein Instrument nicht sein.
Für ein directory ohne "jpg" Dateien prüft dir() nur einmal ob diese Directory en jpg-Datei enthält und prüft nicht alle Dateien im Directory.
Das sind wesentlich weniger Prüfungen als 'for each it in .files' für alle Directories.
Registriert seit: 22.09.2024
Version(en): 2010, 2021
Es bleibt dir unbenommen weiterhin Dir() zu verwenden.
Wenn Performance ein Thema sein sollte, kann man auch die API Funktionen dafür verwenden.
Knobbi38
Registriert seit: 12.03.2016
Version(en): Excel 2003/ 2016
Hallo an alle
Danke für eure Tipps, einiges war für mich neu, ein paar Tipps muss ich noch testen.
Eine FSO Datei habe ich auch, erinnere mich leider nicht welche Version schneller ist?
Im Prinzip geht es darum auch ALLE Unterordner im Ordner auszulesen
.
Diese Funktion ist in meinem bisherigen Code gegeben. Mit einigen persönlichen Varianten.
Mein Code überspringt System Ordner wie "System Volume Information" und "RECYCLE"
HTML Ordner werden NUR als Ordner gelistet, nicht der ganze Inhalt mit U-Ordnern!
mfg Gast 123
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
Hallöchen,
die API-Variante sollte die schnellste sein, fso die langsamste. Hängt auch damit zusammen, dass die API direkt das System anzapft, währenddem fso über den "objektiven"

Umweg geht.
. \\\|/// Hoffe, geholfen zu haben.
( ô ô ) Grüße, André aus G in T
ooO-(_)-Ooo (Excel 97-2019+365)
Registriert seit: 22.11.2019
Version(en): 365
Hallo,
ist bei der hier schon mehrfach angesprochenen API-Version die am Anfang vorgeschlagene EnumDirTreeW-Function gemeint?
Im bei mir gerade aktuell eingesetztem Tool werden ca. 20.000 Dateien vom LW "D:" in 800 ms auf Tabellenblatt aufgelistet.
Gruß
KH
Registriert seit: 22.09.2024
Version(en): 2010, 2021
15.12.2025, 20:13
(Dieser Beitrag wurde zuletzt bearbeitet: 15.12.2025, 20:15 von knobbi38.)
Hallo,
diese hatte ich zwar nicht auf dem Schirm, geht natürlich auch. Allerdings werden meines Wissen wohl keine Platzhalter unterstützt. Mit Filter() könnte man aber dann die Ergebnismenge eingrenzen.
Ich dachte da eher an
FindFirstFileEx und
FindNextFileEx, welche auch mit Platzhaltern umgehen können.
Gruß
Knobbi38
Registriert seit: 22.11.2019
Version(en): 365
15.12.2025, 20:37
(Dieser Beitrag wurde zuletzt bearbeitet: 15.12.2025, 20:37 von volti.)
Hallo Knobbi,
natürlich werden hier auch Platzhalter unterstützt. * ist meist schon ausreichend, um rasch eine Eingrenzung zu machen.
Zu mindestens für eine einfache Eingrenzung nach Dateiname.
i = DateiListe(ThisWorkbook.Path, "A?n*.jp*") ' Dateien ermittelnAber wie ich eben testen konnte, wird auch das ? genommen.
Ansonsten könnte man, wenn es notwendig wäre, im CallBack die gerade behandelte Datei mit etwas weiterem code checken und ggf. nicht ins Array aufnehmen also ausfiltern.
PS: Öäü sind auch dabei..

Gruß
KH
Registriert seit: 22.09.2024
Version(en): 2010, 2021
Hallo,
mit den Platzhaltern wusste ich nicht.

Könntest du ein ähnliches Beispiel machen, wie in #25?
VG
Knobbi38