Dir-Funktion

Bild

Betrifft: Dir-Funktion von: Jones
Geschrieben am: 23.02.2005 15:57:16

Hallo,

Ich hab ein echt nerviges Problem.
Ich durchlaufe in einer Schleife alle Dateien, die sich im aktuellen Ordner (Pfad) befinden. Dazu benutze ich die DIR-Funktion:

Path = ActiveWorkbook.Path
File = Path + "\*.*"
Dateiname = Dir(File)

Do While Dateiname <> ""
'Funktionsaufrufe
Dateiname = Dir()
Loop

Dies hat bisher auch wunderbar funktioniert.
Aber jetzt rufe ich in dieser Schleife eine Funktion auf, bei der ich auch kurz die Dir-Funktion brauch, um die Existenz einer Datei zu prüfen:

andererPath = ActiveWorkbook.Path
anderesFile = andererPath + "\testDatei*.xls"
andererDateiname = Dir(anderesFile)

so, und wenn ich jetzt wieder zu meiner Ausgangsfunktion mit der Schleife zurückkehre, steht in der Variablen Dateiname nach der Dir-Funktion immer "" obwohl noch nicht alles Dateien in dem betreffenden Ordner durchlaufen worden sind.
Anscheinend darf ich also in dieser Schleife keine weitere Dir-Funktionsaufrufe machen, auch wenn dies in einer separaten Funktion geschieht.
Wie könnte ich nun am besten vorgehen?
Gibt es eine Alternative, einen nur halb-bekannten Dateinamen auf Existenz zu prüfen?
Kann man diese Schleife auch ohne Dir-Funktion gestalten und dass dabei eine Datei vernachlässigt wird?

Vielen Dank

Jones

Bild


Betrifft: AW: Dir-Funktion von: Nepumuk
Geschrieben am: 23.02.2005 19:34:50

Hallo Jones,

drei Möglichkeiten:

1. Das FileSearch - Objekt aus Office (arschlangsam)
2. Das FileSystemObject-Objekt mit scrrun.dll (schnell)
3. Windows API mit kernel32.dll (sauschnell)

Was darf's denn sein?

Gruß
Nepumuk


Bild


Betrifft: AW: Dir-Funktion von: Jones
Geschrieben am: 25.02.2005 08:34:35

Vielen Dank,

ich denke ich nehm das arschlangsame, weil mein Chef das Problem unbedingt in Excel gelöst haben will und nur minimalst-Installationen ohne irgendwelche Zusätze auch funktionieren müssen. grrrrrr

Gruß Jones


 Bild

Beiträge aus den Excel-Beispielen zum Thema ""Es können keine weiteren Schriftarten ...""