Standard-Auswahldialog in eigenen Anwendungen nutzen

Sie programmieren mit Hilfe von MS Access eigene Datenbank-Anwendungen. Nun suchen Sie eine Möglichkeit, den Standard-Dialog von Windows zur Auswahl eines Ordners in Ihre Anwendung einzubinden.

1. Vorbereitungen treffen

In Access XP müssen Sie nicht auf OCX-Controls und Windows-API zurückgreifen, um in Ihrer Anwendung einen Dialog zur Auswahl eines Ordners einzubinden: Nutzen Sie stattdessen die Library von Office XP. Damit können Sie einen normalen Öffnen-Dialog und einen Auswahldialog für Dateien oder Verzeichnisse integrieren – diese beiden Dialoge nennt Microsoft »FilePicker«- beziehungsweise »FolderPicker«-Dialog. Öffnen Sie Access XP und legen Sie zuerst eine leere Datenbank an. Anschließend erzeugen Sie ein neues Formular, auf dem Sie eine Schaltfläche »btnFileDialog« und ein Textfeld »tboErgebnis« positionieren. Mit der Schaltfläche öffnen Sie später den Dialog, das Textfeld soll nach dem Aufruf des Dialogs den ausgewählten Ordner enthalten.


2. Makro programmieren

Klicken Sie mit der rechten Maustaste auf die Schaltfläche und rufen Sie den Kontextbefehl »Eigenschaften« auf. Positionieren Sie Ihren Cursor auf der Registerkarte »Ereignis« im Feld neben »Beim Klicken« und nutzen Sie anschließend die rechts neben dem Feld erscheinende Schaltfläche »à«. Markieren Sie in »Generator auswählen« den »Code-Generator« und klicken Sie auf »OK.« Es öffnet sich der VisualBasic-Editor mit der leeren Funktion »btnFileDialog_Click()«. Geben Sie den folgenden Code ein oder kopieren Sie ihn von der Heft-CD (CHIP-Code Praxis05).

Dim dlgFileOpen As FileDialog

Set dlgFileOpen = Application.FileDialog (msoFileDialogFolderPicker)
If dlgFileOpen.Show Then
tboErgebnis = dlgFileOpen.SelectedItems(1)
End If


Der eingebundene Dialog ist ein Objekt vom Typ »FileDialog«. Der Parameter »msoFileDialogFolderPicker« definiert den Auswahldialog für Ordner. Für den normalen Öffnen-Dialog verwenden Sie den Parameter »msoFileDialog Open« und für einen Datei-Auswahldialog »msoFileDialogFilePicker«. Wenn Sie die Office-XP-Library zum ersten Mal nutzen, weist Access darauf hin, dass Sie die Bibliothek bisher noch nicht referenziert haben. Holen Sie das per Klick auf die Schaltfläche »Ja« nach. Abschließend öffnet die Funktion den Dialog mit der Methode »show« und übernimmt per Eigenschaft »SelectedItems(1)« einen im Dialog ausgewählten Ordner ins Textfeld »tboErgebnis«. Speichern Sie Ihr soeben erstelltes Formular nach der Code-Eingabe.


3. Eigenschaften ändern

Sie können verschiedene Eigenschaften des Objektes »dlgFileOpen« nutzen, um das Erscheinungsbild des Dialogs zu verändern. Zum Beispiel enthält der Eintrag »Title« die Beschriftung des Dialogfensters in der Titelzeile. Mit »InitialFileName« können Sie festlegen, welches Ausgangsverzeichnis der Dialog beim späteren Aufruf anzeigen soll. Zu guter Letzt passen Sie die Beschriftung der Schaltfläche über die Eigenschaft »ButtonName« Ihren Vorstellungen an.