Mit Bild
In vielen Word-Makros soll ein Benutzer die Möglichkeit erhalten, mal eben den Namen und Pfad einer Hilfsdatei anzugeben oder die Ergebnisse in einer frei wählbaren Datei zu speichern. Lorenz Hölscher zeigt die nötigen Tricks, damit Sie das mit möglichst wenig Aufwand programmieren können.
Mit Bild
Interne Word-Dialoge
Anders als in Excel (siehe Beitrag "Excel-VBA: Dateiauswahl-Dialog programmieren") gibt es in Word aber keinen direkt eingebauten VBA-Befehl, um den Benutzer eine Datei auswählen zu lassen. Immerhin gibt es dort eine Dialogs-Auflistung, mit deren Hilfe sich das Problem doch lösen lässt.
Mit Bild
Dazu geben Sie am besten eine entsprechende Variable des Datentyps Dialog vor, deren Details Sie im Code dann bestimmen können. Um den üblichen DateiÖffnen-Dialog zu erzeugen, wie er unter Windows in allen Programmen erscheint, eignet sich die folgende Prozedur:
Mit Bild
Sub DateiOeffnen() Dim dlgDatei As Dialog Set dlgDatei = Dialogs(wdDialogFileOpen) With dlgDatei If .Display() Then MsgBox "Die Datei '" & CurDir() & "\" & .Name & "' soll geöffnet werden." Else MsgBox "Der Benutzer hat abgebrochen.", vbCritical End If End With End Sub
Mit Bild
Der eigentliche Dialog wird der Variablen dlgDatei zugewiesen, die Konstante wdDialogFileOpen legt fest, dass es sich um den DateiÖffnen-Dialog handelt. Die Display-Methode gibt als Boolean-Rückgabewert an, ob der Dialog bestätigt oder abgebrochen wurde.
Mit Bild
Gleichzeitig sorgt die Display-Methode auch dafür, dass er sich zwar komplett wie der DateiÖffnen-Dialog verhält, aber die angegebene Datei am Ende nicht öffnet. Soll der Dialog wirklich aktiv sein, müssen Sie stattdessen seine Execute-Methode aufrufen.
Wollen Sie weiterlesen?
Als zahlendes Mitglied von akademie.de haben Sie vollen Zugriff auf alle Inhalte und können alle PDF-Dateien, Checklisten, Mustervorlagen und Anwendungen herunterladen und verwenden.
Wollen Sie mehr über die Mitgliedschaft erfahren?
Wenn Sie schon Mitglied sind, loggen Sie sich bitte ein.