Ordner und Unterordner nach JPG auslesen
#31
Schau mal : https://www.clever-excel-forum.de/Thread...#pid307533
Letzte 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.
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Antworten Top
#32
Es bleibt dir unbenommen weiterhin Dir() zu verwenden. 
Wenn Performance ein Thema sein sollte, kann man auch die API Funktionen dafür verwenden.  

Knobbi38
Antworten Top
#33
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
Antworten Top
#34
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" Wink Umweg geht.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#35
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
Antworten Top
#36
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
Antworten Top
#37
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 ermitteln

Aber 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..  19

Gruß
KH
Antworten Top
#38
Hallo, 

mit den Platzhaltern wusste ich nicht.  Cool

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

VG
Knobbi38
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste