Zusammenfassung
Sie lernen eine Klasse kennen, die Methoden und Eigenschaften zum Auswählen von Dateien und Verzeichnissen liefert.
Techniken
Klassen, Dateiauswahl
Voraussetzungen
Access 97 oder höher
Beispieldateien
Dateien_Beispiel00.mdb
Filedialog.cls
André Minhorst, Duisburg
Das Auswählen von Dateien ist auch mit dem seit Access XP beziehungsweise Office XP zur Verfügung stehenden Filedialog-Objekt noch lange kein Zuckerschlecken. Mit einer im Internet frei verfügbaren Klasse lassen sich Dialoge zum Auswählen von Dateien und Verzeichnissen mit Access ab Version 97 anzeigen.
Viele Access-Anwendungen benötigen eine Möglichkeit, Dateien oder Pfade auszuwählen. Seit Access XP bietet Access dazu ein Objekt – das aber nicht für alle Fälle geeignet ist. So lässt sich etwa kein Dialog zum Speichern von Dateien anzeigen.
Abhilfe schafft die etablierte Filedialog-Klasse von Karsten Pries (http://www.kpries.de/Entwicklertools/filedialog.htm). Sie ist unter allen gängigen Access-Versionen einsetzbar und bietet Dialoge zum Auswählen von Verzeichnissen, zu öffnenden und zu speichernden Dateien.
Importieren der Klasse
Die Klasse lässt sich leicht in eigene Anwendungen integrieren. öffnen Sie einfach das VBA-Projekt der Anwendung und importieren Sie den Inhalt der Datei Filedialog.cls in ein neues, leeres Klassenmodul.
Einsatz der Klasse
Die Klasse Filedialog bietet Methoden und Eigenschaften, um Dateiauswahldialoge anzuzeigen und den eigenen Wünschen anzupassen. Mit den in Quellcode 1 abgedruckten Zeilen machen Sie die Klasse in einer Routine verfügbar.
Quellcode 1: Filedialog-Objekt instanzieren
Public Sub Filedialogbeispiel()
Dim objFiledialog As clsFiledialog
Set objFiledialog = New clsFiledialog
''... Filedialog verwenden
Set objFiledialog = Nothing
End Sub
Auswahldialoge
Das Objekt bietet drei verschiedene Dialoge an. Jeden Dialog ruft man mit einer anderen Methode auf, die per IntelliSense angeboten wird (siehe Bild 1).

Bild 1: Auswahl einer Methode zum Anzeigen eines Dialogs
Mit diesen drei Anweisungen lässt sich auch die kürzeste Fassung des Aufrufs bewerkstelligen. Die folgende Anweisung zeigt einen Datei auswählen-Dialog an und gibt anschließend den Namen der ausgewählten Datei aus:

Bild 2: Beispielformular zum Anzeigen eines Datei auswählen-Dialoges

Bild 3: Datei auswählen-Dialog
MsgBox objFiledialog.ShowOpen
An der Anzeige des Dialogs lassen sich noch einige Anpassungen vornehmen.
Quellcode 2: Anzeige eines Dateidialogs und übernahme der ausgewählten Datei in ein Textfeld
Private Sub cmdAuswaehlen_Click()
Dim objFiledialog As clsFiledialog
Set objFiledialog = New clsFiledialog
With objFiledialog
.DialogTitle = "Datei auswählen"
.Filter1Suffix = "*.*"
.Filter1Text = "Alle Dateien"
Me!txtDatei = .ShowOpen
End With
Set objFiledialog = Nothing
End Sub
Nachfolgende Liste enthält einige Eigenschaften und deren Beschreibung:
Die durch die Schaltfläche ausgelöste Prozedur finden Sie in Quellcode 2. Sie öffnet den Dialog aus Bild 3. Anschließend schreibt sie den ausgewählten Dateinamen in das im Formular enthaltene Textfeld.
Die mittlere Auswählen-Schaltfläche dient zur Anzeige eines Dialogs zum Auswählen eines Verzeichnisses. Die letzte öffnet wiederum einen Dateiauswahl-Dialog, mit dem diesmal aber mehrere Dateien ausgewählt und im Listenfeld des Formulars angezeigt werden können.
Zusammenfassung
Nur für Abonnenten
Ab hier wird’s wirklich spannend – der Rest ist exklusiv für Abonnenten.
Mit dem Abo von Access im Unternehmen bekommst du den kompletten Artikel – inklusive vollständigem Code, Beispieldatenbank und Schritt-für-Schritt-Erklärung.
So sparst du dir stundenlanges Herumprobieren, vermeidest teure Fehler in deiner Access-Anwendung und kannst Lösungen direkt in deinem Unternehmen einsetzen, statt nur darüber zu lesen.
Teste Access im Unternehmen jetzt 4 Wochen lang kostenlos: Voller Zugriff auf alle Artikel, Downloads und Beispieldatenbanken. Kein Risiko – wenn es für dich nicht passt, kündigst du einfach innerhalb der ersten vier Wochen.
Bereits Abonnent? Hier einloggen
Kostenlos & unverbindlich
Oder hast Du eine konkrete Frage zu Deiner eigenen Access-Anwendung?
Vielleicht stellt Deine Anwendung Dich vor eine Herausforderung, zu der Du bisher keine Lösung findest. Schlechte Performance, kein ausreichender Zugriffsschutz, Du bist unsicher über Dein Datenmodell oder Dein Code liefert unerklärliche Fehler?
In unserem kostenlosen Access-Audit schaut sich André Minhorst persönlich gemeinsam mit Dir Deine Lösung per Zoom an – und zeigt Dir, wo Datenmodell, VBA-Code, Ergonomie und Sicherheit Optimierungspotenzial bieten.
Jetzt kostenloses Access-Audit anfordern →