HINWEIS
BEISPIEL
BEISPIEL
Wie Sie mit der API-Funktion SHBrowseForFolder eine Verzeichnisauswahl realisieren können wird ab Seite 727
beschrieben.
Variante 1 (Office 12 Library)
Bevor wir zu den Einzelheiten kommen, ist es sicher interessant zu wissen, welche Dialoge Sie aus Access
heraus aufrufen können:
Open-Dialog
SaveAs-Dialog
FilePicker (Datei-Auswahldialog)
FolderPicker (Verzeichnis-Auswahldialog)
Das zum Aufruf erforderliche FileDialog-Objekt wird Ihnen vom Application-Objekt zur Verfügung gestellt.
Nutzen Sie das Objekt zum ersten Mal, werden Sie gefragt, ob Sie die Office 12 Library einbinden möchten.
Beantworten Sie die Frage ruhig mit »Ja«. In diesem Fall stehen Ihnen die Konstanten für die Konfiguration
zur Verfügung.
Ein einfacher Aufruf eines Open-Dialogs könnte wie folgt aussehen:
If Application.FileDialog(msoFileDialogOpen).Show Then
MsgBox Application.FileDialog(msoFileDialogOpen).SelectedItems(1)
End If
Eleganter und übersichtlicher als obiger Code ist allerdings die folgende Variante.
Aufruf eines Open-Dialogs mittels
FileDialog
-Objekt
Dim dlg As FileDialog
Set dlg = Application.FileDialog(msoFileDialogOpen)
If dlg.Show Then
MsgBox dlg.SelectedItems(1)
End If
So ganz nebenbei haben Sie auch gleich noch die wichtigste Methode des FileDialog-Objektes kennen ge-
lernt. Wie im richtigen Leben gilt auch hier: ohne Show geht gar nichts.
Über die Funktion FileDialog können Sie mit den Konstanten
msoFileDialogFilePicker,
msoFileDialogFolderPicker,
msoFileDialogOpen
die bereits genannten Dialogtypen abrufen.
Mit den Eigenschaften des Objekts nehmen Sie Einfluss auf
719
Dateidialoge
BEISPIEL
Kapitel 11: Dateien und Verzeichnisse
den Titel des Dialogfeldes,
den Text der Schaltflächen,
die Dateifilter (*.txt etc.),
das Ausgangsverzeichnis,
die Ansicht des Dialogs (Details, Liste etc.),
die Anzahl der markierbaren Dateien (Multiselect).
Die folgende Tabelle zeigt die Eigenschaften und ihre Bedeutung:
Eigenschaft Beschreibung
Title Die Beschriftung des Dialogfeldes.
InitialFileName Das Ausgangsverzeichnis bzw. ein bereits vorgegebener Dateiname.
ButtonName Die Beschriftung der Schaltfläche.
Filters Über diese Collection werden alle Dateifilter für das Dialogfeld bestimmt. Mit Add fügen Sie der Collection neue
Elemente hinzu.
FilterIndex ... legt den Standard-Filter beim Öffnen des Dialogs fest (Index in der Collection Filters).
AllowMultiselect Mit True legen Sie fest, dass mehr als eine Datei markiert werden kann.
SelectedItems Über diese Collection rufen Sie die markierten Dateien bzw. Verzeichnisse ab.
InitialView ... bestimmt, welche Ansicht das Dialogfeld beim Öffnen zeigt.
Tabelle 11.9 Die wichtigsten Eigenschaften des FileDialog-Objekts
Einige Beispiele dürften für mehr Klarheit sorgen:
Anzeige eines Dateiauswahldialogs mit zulässiger Mehrfachauswahl
Private Sub Befehl0_Click()
Dim dlg As FileDialog
Dim si As Variant
Objekt erzeugen:
Set dlg = Application.FileDialog(msoFileDialogFilePicker)
Mehrfachauswahl zulässig:
dlg.AllowMultiSelect = True
Buttonbeschriftung ändern:
dlg.ButtonName = "Backup"
Dateifilter definieren:
dlg.Filters.Add "Alle", "*.*"
dlg.Filters.Add "Texte", "*.txt; *.rtf; *.doc"
720
dlg.Filters.Add "Grafiken", "*.gif; *.jpg; *.jpeg"
Den ersten Filter aktivieren:
dlg.FilterIndex = 0
Den Ausgangspfad einstellen:
dlg.InitialFileName = "c:\"
Die Ansicht bestimmen:
dlg.InitialView = msoFileDialogViewDetails
Den Dialogtitel ändern:
dlg.Title = "Datei-Backup"
Anzeigen:
If dlg.Show Then
Auswerten:
For Each si In dlg.SelectedItems
MsgBox si
Next
End If
End Sub
Die folgende Abbildung zeigt das zugehörige Dialogfeld.
Abbildung 11.13 Konfigurierter Dateidialog
721
Dateidialoge

Get Microsoft Office Access 2007-Programmierung - Das Handbuch now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.