Eingebaute Dialoge

Aus VBA-wiki
Zur Navigation springen Zur Suche springen

Alle Office-Anwendungen

MsgBox: Meldung anzeigen

Die MsgBox dient dazu, dem Anwender kurze Mitteilungen bzw. Aufforderungen anzuzeigen und gegebenenfalls auf seine Entscheidung einzugehen.

Einfache Meldungen

Die Grundform der MsgBox bietet eine Aufforderung (Prompt), eine Überschrift (Title) und einen OK-Knopf an:

MsgBox "Der Vorgang wurde erfolgreich abgeschlossen!", , "Vorgang abgeschlossen"

MsgBoxOkOnly.png

Folgender Code fügt dem Dialog ein Informations-Icon hinzu und sorgt dafür, dass der Dialog mit einem 'Ping' über die Lautsprecher angekündigt wird:

MsgBox "Der Vorgang wurde erfolgreich abgeschlossen!", vbInformation, "Vorgang abgeschlossen"

MsgBoxOkOnlyInfo.png

Inputbox: Einfacher Eingabedialog

Die Inputbox wird dazu verwendet, eine einfache Eingabe durch den Anwender zu ermöglichen:

Public Sub ShowInputBox()
    Dim strInput As String
    
    strInput = InputBox("Bitte etwas eingeben:", "Meine InputBox", "Test")
    Debug.Print strInput
End Sub

InputBox 02.png

Der Titel und der Vorgabetext ("Test") sind optional. Wenn der Anwender den Dialog abbricht, wird ein Leerstring ("") zurückgegeben.

FileDialog

Das 'FileDialog'-Objekt ist in allen Office-Anwendungen enthalten und wird wie folgt eingesetzt (Beispiel einer Funktion, welche die Auswahl eines Verzeichnisses ermöglicht):

Private Function BrowseToPath() As String
    Dim dlg As FileDialog
    
    Set dlg = Application.FileDialog(msoFileDialogFolderPicker)
    dlg.Title = "Zielverzeichnis wählen"
    dlg.InitialFileName = "C:\temp\"
    dlg.Show
    If dlg.SelectedItems.Count > 0 Then
        BrowseToPath = dlg.SelectedItems.Item(1)
    End If
End Function

Siehe auch Arbeiten mit Dateien: Eingebaute Datei-Dialoge für weitere Möglichkeiten und Optionen.

Word und Excel

Die Anwendungen Word und Excel stellen viele ihrer eigenen Dialoge über das 'Dialogs'-Objekt zur Verfügung. In PowerPoint stehen keine eigenen Dialoge zur Verfügung.

Bitte beachten: Viele der über 'Dialogs' angebotenen Dialoge wurden inzwischen von anderen Lösungen abgelöst (zum Beispiel Task Panes für Seriendruck, der Druckvorgang erfolgt nun über einen Aufgabenbereich) und erscheinen dem Anwender somit eventuell fremd und altmodisch.