Standard-Dialogboxen
Standardausgabe (MsgBox)
Die MsgBox liefert den Benutzer Meldungen, Ergebnisse, also Informationen vom Programm. Siehe Prozedur Ausgabe1 des Moduls EA_Dialoge der Lösungsdatei.
Beispiel:
Sub Ausgabe1()
Dim Text1 As String
Dim Text2 As String
Text1 = "Schön, "
Text2 = "dass Sie wieder da sind!"
MsgBox Text1 & Text2, , "Meldung"
End Sub
Ergebnis:
Meldung einer MsgBox-Anweisung
Die MsgBox-Anweisung besitzt Parameter analog zur InputBox-Funktion und gibt sichtbar eine Meldung aus, die sich, z.B. wie oben zu sehen, aus Stringvariablen zusammensetzen lässt. Sie selbst liefert keinen weiter verwertbaren Wert an die Prozedur zurück.
Einen Zeilenumbruch inmitten der Meldung erhalten Sie durch eine verkettete Konstante vbLf im Ausgabetext.
Beispiel:
Sub mit_Umbruch()
Dim Text1 As String
Dim Text2 As String
Text1 = "Schön, "
Text2 = "dass Sie wieder da sind!"
MsgBox Text1 & vbLf & Text2, , "Meldung"
End Sub
Meldung mit Zeilenumbruch
Mit der MsgBox-Funktion können sogar Reaktionen durch Drücken vorgegebener Buttons vom Programm ausgewertet werden. Sie selbst liefert einen weiter nutzbaren Wert an die Prozedur zurück.
Damit wird die eigentliche Meldung als bescheidene Eingabe verwendet, die ausgewertet werden kann. Sehen Sie sich das folgende Beispiel aus dem Modul EA_Dialoge der Lösungsdatei an:
Beispiel:
Sub Ausgabe2()
Dim Eingabewert As Byte
Eingabewert = MsgBox("Ja, Nein oder Wat?", vbYesNoCancel, "Test")
If Eingabewert = vbYes Then
MsgBox "Na bitte, also Ja. "
ElseIf Eingabewert = vbNo Then
MsgBox "Also eben nicht!"
Else
MsgBox "Wat denn? Kneifen?"
End If
End Sub
Im letzten Beispiel wurden die Buttons mit der VBA-Konstanten vbYesNoCancel ausgewählt.
Damit erhält die MsgBox die Buttons "Ja", "Nein" und "Abbrechen".
MsgBox mit drei Buttons zur Auswahl
Zunächst zu den Parametern der MsgBox-Funktion.
Die MsgBox-Funktion und einige Parameter
Prompt und Title sind analog zur InputBox-Funktion anzuwenden.
Mit Buttons können einige Buttons angegeben werden.
Die Notation der MsgBox-Funktion ist unkompliziert. Das zu erwartende Resultat der angebotenen Konstanten ist syntaktisch selbsterklärend definiert.
Auswahl der Konstanten für die MsgBox-Buttons
Das Konstanten für die Buttons sind ihrer Wirkung nach in Gruppen zusammengefasst:
Die Gruppe Schaltflächen fasst Konstanten für den Typ der im Dialogfeld angezeigten Schaltflächen zusammen.
VbOK: Nur Schaltfläche "OK"
VbOKCancel: Schaltflächen "OK" und "Abbrechen"
VbAbortRetryIgnore: Schaltflächen "Abbruch", "Wiederholen" und "Ignorieren"
VbYesNoCancel: Schaltflächen "Ja", "Nein" und "Abbrechen"
VbYesNo: Schaltflächen "Ja" und "Nein"
VbRetryCancel: Schaltflächen "Wiederholen" und "Abrechen"
Zusätzlich kann eine MsgBox mit einem Symbol ergänzt werden. Die Gruppe Symbole enthält die Konstanten für die Symbole.
VbCritical: Stoppzeichen
VbQuestion: Fragezeichen
VbExclamation: Ausrufezeichen
VbInformation: Infosymbol
Bei der Gestaltung der MsgBox addieren Sie immer nur jeweils maximal eine der angegebenen vbKonstanten aus den unterschiedlichen Gruppen!
MsgBox mit vbQuestion + vbYesNo.
Damit der gedrückte Button ausgewertet werden kann, wird die MsgBox-Funktion verwendet. Diese liefert im Unterschied zur MsgBox-Anweisung einen Wert, der entweder einer Variablen zugewiesen werden muss oder der in einer If_Anweisung ausgewertet wird.
Die MsgBox-Funktion erkennen Sie am folgenden Klammerpaar.
Dort werden die angegebenen Parameter notiert.
Bei der MsgBox-Anweisung folgen die Parameter (ohne Klammern) direkt nach einem Leerzeichen.
MsgBox-Funktion:
Eingabewert = MsgBox("Ja, Nein oder Wat?", vbYesNoCancel, "Test"),
MsgBox-Anweisung:
MsgBox Text1 & Text2, , "Meldung"
If Eingabewert = vbYes Then
MsgBox "Na bitte, also Ja."
ElseIf Eingabewert = vbNo Then
MsgBox "Also eben nicht!"
End If
Die möglichen Rückgabewerte der MsgBox-Funktion sind auch mit vorgegebenen Konstanten zur Auswertung zu vergleichen.
VbOK: Schaltfläche "OK" gedrückt
VbCancel: Schaltfläche "Abbrechen" gedrückt
VbAbort: Schaltfläche "Abbruch" gedrückt
VbRetry: Schaltfläche "Wiederholen" gedrückt
VbIgnore: Schaltfläche "Ignorieren" gedrückt
VbYes: Schaltfläche "Ja" gedrückt
VbNo: Schaltfläche "Nein" gedrückt
Mit diesen vorgegebenen simplen Dialogboxen können Sie nun umfangreich mit Ihren Prozeduren kommunizieren.
Dies ist eine Leseprobe
Möchten Sie den Beitrag komplett lesen? Dann werden Sie Probemitglied und testen Sie akademie.de 14 Tage kostenlos!
Auf VBA Excel 2003 (7): Dialoge erfahren Sie mehr über diesen Beitrag und die weiteren Leseproben.
Weitere Informationen finden Sie auf unserer Infoseite zur Mitgliedschaft und in unseren AGB.
Ich bin bereits Mitglied