Homepage http://www.guido-studer.ch/
 
           
 
Diverses:      
 
 

Freeware: DirPath - Dateilisten mit Unterverzeichnissen

Beschreibung

Dieses Programm ist keine fertige Lösung, sondern demonstriert lediglich die Verwendung des Moduls "mdlDirPath" und der darin enthaltenen Funktionen "fDirPath" bzw. "fDirPathTabelle".

Unter Access/VBA bietet der Befehl "DIR" die Möglichkeit, die Namen von Dateien aus Verzeichnissen auszulesen. Dieser Befehl hat aber einen gravierenden Nachteil: Unterverzeichnisse bleiben bei der Suche unberücksichtigt und versteckte Dateien bleiben solange unberücksichtigt, wenn nicht explizit danach gesucht wird. Die Funktion "fDirPath" behebt diese Mängel und kann dabei exakt in der selben Form wie der "DIR"-Befehl verwendet werden. Folgender Code liest mit dem "DIR"-Befehl ein Verzeichnis ein:

  Dim cDatei As String
  cDatei = Dir("C:\Musik\*.MP3") ' erste Datei
  While Len(cDatei) > 0
    Debug.Pring cDatei ' ... hier irgendwas tun mit dem Dateinamen ...
    cDatei = Dir ' nächste Datei gemäss Muster
  Wend

Und hier nun der Code, der mit der Funktion "fDirPath" das Verzeichnis mit allen Unterverzeichnissen einlesen kann:

  Dim cDatei As String
  cDatei = fDirPath("C:\Musik\", "*.MP3") ' erste Datei
  While Len(cDatei) > 0
    Debug.Pring cDatei ' ... hier irgendwas tun mit dem Dateinamen ...
    cDatei = fDirPath ' nächste Datei gemäss Muster
  Wend

Neben der gezeigten Möglichkeit, "fDirPath" genauso einzusetzen wie den "DIR"-Befehl, bietet "DirPath" die Funktion "fDirPathTabelle" an, welche die gewünschten Dateinamen in eine Tabelle einlesen kann. Dadurch wird ein flexibler Umgang mit den gewählten Dateien möglich.

Ein wichtiger Unterschied zwischen dem "DIR"-Befehl und der Funktion "fDirPath" sollte an dieser Stelle aber auch noch erwähnt werden: Während der "DIR"-Befehl nur den Dateinamen zurückgibt, geben die Funktionen aus "DirPath" immer den Dateinamen mit dem ganzen Pfad zurück. Das vereinfacht in der Regel auch die nachfolgende Verarbeitung.

Oberfläche

Das unten gezeigte Formular zeigt die Steuerung für die Funktionen aus dem Modul "DirPath":


Demofenster der Version 0.2 mit Beispieldaten

Wählen Sie über die Befehlsschaltfläche "Suchen" einen Pfad oder lesen Sie die Dateinamen über die Schaltfläche "Lesen" neu ein. Eine allfällig eingegebene Erweiterung und der Schalter "vor dem Lesen die Tabelle löschen" werden beim Einlesen der Dateinamen in die Tabelle berücksichtigt. Über die Schaltfläche "Löschen" können Sie die Dateinamen ggf. manuell löschen.

Verweise

Dieses Programm enthält folgende Elemente, die hier auch einzeln angeboten werden oder auch in verschiedenen anderen Produkten verwendet werden:

  • Enthält das Klassenmodul "FileDialog" mit freundlicher Erlaubnis von Karsten Pries

Für den Betrieb dieses Freeware-Programms benötigen Sie eine lauffähig installierte Version von Microsoft Access 97 oder neuer.

Versionen und Download

Folgende Versionen sind bisher erschienen:

  • Initialrelease 0.1 vom 16.12.1999
  • diverse angepasste Versionen für verschiedene Programme (zB. Backup, Mp3DB ua.)
  • Version 0.2 vom 27.02.2004 mit einigen Erweiterungen und Korrekturen, Download (51k)



Fehler, Probleme, Anmerkungen oder Fragen erreichen mich über das Kontaktformular. Vielen Dank für die aktive Mitarbeit bei der Verbesserung meiner Freeware-Programme!

Weitere Programme finden Sie auf der Übersichtsseite Freeware.



 :
 
 
 
Alle Rechte Guido Studer, Basel - Letzte Änderung: 04.03.2008