Die beiden Funktionen MsgBox und InputBox ermöglichen die schnelle Abfrage von Benutzerfeedback. Soll eine Datei überschrieben werden? Wie soll die neue Kategorie heißen? Das sind nur zwei von vielen Beispielen für den Einsatz dieser beiden Funktionen. Dieser Artikel beschreibt die beiden so kompakt wie möglich, damit Du sie schnell in Deine eigenen Anwendungen integrieren kannst.
Die MsgBox-Funktion
Die erste der beiden Funktionen hat zwei Haupteinsatzzwecke:
- Ausgabe von Informationen oder Warnungen an den Benutzer
- Ermitteln von einfachen Antworten des Benutzers wie OK oder Abbrechen durch entsprechende Schaltflächen
MsgBox zur Anzeige von Meldungen
Wenn Du einfach nur eine Meldung mit Informationen anzeigen möchtest, reicht der einfache Aufruf der MsgBox-Funktion unter Angabe der anzuzeigenden Informationen und gegebenenfalls eines Symbols.
Um dem Benutzer mehrere Auswahlmöglichkeiten für eine Reaktion zu geben, kannst Du verschiedene Schaltflächen anzeigen lassen und diese abfragen.
Der einfachste MsgBox-Aufruf gibt einfach nur einen Text aus und zeigt eine OK-Schaltfläche an:
MsgBox "Dies ist eine Beispielmeldung."
Diese können wir über den Direktbereich des VBA-Editors aufrufen oder auch in eine Prozedur oder Funktion einbinden. Das Ergebnis siehst Du in Bild 1.
Bild 1: Einfache Meldung
MsgBox mit Titel
Die oben erzeugte Meldung zeigt den gewünschten Text an, und auch die Titelzeile ist gefüllt. Wenn Du den dortigen Text ersetzen willst, der standardmäßig den Namen der übergeordneten Anwendung anzeigt, brauchst Du nur den dritten Parameter der MsgBox-Funktion mit dem gewünschten Text zu füllen:
MsgBox "Beispielmeldung mit individuellem Titel", , _
"Unser Titel"
Das Ergebnis siehst Du in Bild 2. Alternativ und um die unübersichtliche Anzeige der Kommata zwischen den Parametern zu entschärfen kannst Du auch benannte Parameter verwenden, wenn sich die Parameter nicht an der vorgesehenen Stelle befinden (für den ersten Parameter ist dies daher nicht erforderlich):
Bild 2: Meldung mit Titel
MsgBox "Beispielmeldung mit individuellem Titel", _
Title:="Unser Titel"
Icons für die MsgBox
Im nächsten Schritt fügen wir der Meldung wie in Bild 3 ein Icon hinzu. Das erledigen wir mit dem zweiten Parameter namens Buttons. Die Bezeichnung deutet eigentlich eher darauf hin, dass wir hiermit Informationen über Schaltflächen angeben, aber dazu gleich mehr. Es ist nämlich beides möglich. Der Aufruf für die gezeigte Meldung lautet:
Bild 3: Meldung mit Icon
MsgBox "Beispielmeldung mit Icon zur Warnung", _ vbCritical, "MsgBox mit Icon"
Wir übergeben also die Konstante vbCritical, um das Icon für einen Warnhinweis auszugeben.
Die möglichen Konstanten für die anzuzeigenden Icons lauten:
- vbCritical: Zeigt einen roten Warnhinweis an.
- vbExclamation: Zeigt ein Ausrufezeichen an.
- vbInformationen: Zeigt ein Informations-Icon an.
- vbQuestion: Zeigt ein Fragezeichen-Icon an.
In Bild 4 haben wir alle möglichen Icons in einer Meldung abgebildet.
Bild 4: Meldung mit allen Icons
MsgBox zum Abfragen von Informationen
Wenn Du nicht nur dem Benutzer verschiedene Informationen anzeigen möchtest, sondern auch noch Feedback von diesem benötigst, dann reicht die OK-Schaltlfäche nicht aus. Stattdessen verwenden wir verschiedene Kombinationen von Schaltflächen.
Hier kommt erneut der Parameter Buttons ins Spiel, mit dem wir nicht nur das anzuzeigende Icon, sondern auch noch die anzuzeigenden Schaltflächen festlegen können. Wenn Du kein Icon anzeigen möchtest, sondern nur verschiedene Schaltflächen, gibst Du einfach nur die Konstante für die gewünschten Schaltflächen an.
- vbAbortRetryIgnore: Zeigt Abbrechen-, Wiederholen– und Ignorieren-Schaltflächen an.
- vbOKCancel: Zeigt OK– und Abbrechen-Schaltflächen an.
- vbOKOnly: Zeigt nur die Ok-Schaltfläche an. Kann weggelassen werden, da dies die Standardeinstellung ist.
- vbRetryCancel: Zeigt die Schaltflächen Wiederholen und Abbrechen an.
- vbYesNo: Zeigt die Schaltflächen Ja und Nein an.
- vbYesNoCancel: Zeigt die Schaltflächen Ja, Nein und Abbrechen an.
Bild 5 zeigt die sechs verschiedenen Konstellationen.
Bild 5: Alle verschiedenen Schaltflächen
Diese kannst Du jeweils noch um eine Hilfe-Schaltfläche erweitern. Dazu fügst Du die Konstante vbMsgBoxHelpButton mit dem Plus-Operator (+) wie folgt zum Parameter Buttons hinzu:
MsgBox "Meldung mit Hilfe-Button ''vbMsgBoxHelpButton''", _
vbYesNo + vbMsgBoxHelpButton
Die zusätzliche Schaltfläche mit dem Titel Hilfe wird rechts neben den übrigen Schaltflächen eingeblendet (siehe Bild 6). Damit diese eine Funktion hat, musst Du für den Parameter Helpfile den Pfad zu der zu verwendenden .chm-Hilfedatei angeben. Da diese heutzutage kaum noch verwendet werden, gehen wir an dieser Stelle nicht weiter darauf ein.
Möchten Sie weiterlesen? Dann lösen Sie Ihr Ticket!
Hier geht es zur Bestellung des Jahresabonnements des Magazins Visual Basic Entwickler:
Zur Bestellung ...
Danach greifen Sie sofort auf alle rund 200 Artikel unseres Angebots zu - auch auf diesen hier!
Oder haben Sie bereits Zugangsdaten? Dann loggen Sie sich gleich hier ein: