VBS MsgBox – Nachrichten in 2023 anzeigen

VBS MsgBox – Nachrichten anzeigen
VBS MsgBox – Nachrichten anzeigen

VBS MsgBox – Visual Basic Script MsgBox

Du möchtest eine VBS MsgBox (Visual Basic Script MessageBox) anzeigen und dem Nutzer eine Nachricht o. Ä. mitteilen? Dann freue ich mich, Dich hier auf meiner Seite, bzw. in meinem kleinen Beitrag begrüßen zu dürfen.

Die Nachrichtenbox (engl. Messagebox) ist in so gut wie allen gängigen Programmier- und Skriptsprachen präsent. Sie ist zwar nicht immer gleich umgesetzt, aber zumindest in irgendeiner Form vorhanden. Man möchte als Entwickler ja auch verständlicherweise nicht ohne Basis-Werkzeug dastehen, oder?

💡 Keine Zeit für Blabla? Kein Problem! Wenn Du ein paar schnelle Beispiele für die VBS MsgBox brauchst, scrolle einfach zu den schnellen Beispielen.

++ UPDATE 05.08.2022 ++

So, ein paar weitere Monate sind vergangen und ich habe noch ein wenig nachgearbeitet. Unter anderem habe ich die Texte ein wenig verbessert und weitere Informationen ergänzt. Besonders gestört hat mich im Nachhinein auch die Formatierung, daher ist Diese auch geändert worden.

++ UPDATE 25.01.2022 ++

Ich habe nach einiger Zeit noch weitere Bildchen zur besseren Veranschaulichung hinzugefügt. Ebenso habe ich ein Fazit ergänzt und noch ein paar Erklärungen besser ausgeführt. Man ist dann als Entwickler eben doch ein wenig pingelig!

Hintergrund – VBS MsgBox

Ein Dialog, Dialogfeld, Dialogfenster oder auch eine Dialogbox sind alles letztendlich Synonyme für das Gleiche: Es handelt sich um eine Art, bzw. eine Methode, einem Nutzer eine Nachricht anzuzeigen. Zusätzlich zu dieser angezeigten Nachricht, bietet der Dialog häufig auch noch mehr. Meist spiegelt sich das in einer Art Erwartung, in Form einer Antwort „an das Programm“ wider.

Einfache und komplexe Möglichkeiten

Wie so oft in der Programmierung, bzw. beim Scripting gibt es verschiedene Möglichkeiten. Dabei ist auch die „MsgBox“ keine Ausnahme, also wie man einen Dialog aufbauen kann. Vom simplen „OK“-Nachrichten-Dialog, wo man nur etwas Informatives mitteilen möchte, bis hin zu komplexen Formularen mit Eingabefeldern und verschiedenen Knöpfen. Auch wenn wir uns in diesem Tutorial auf die simple MsgBox-Methode von Visual Basic Script beziehen, lohnt es sich, auch mal links und rechts zu schauen.

Modal oder nicht modal

Modale und non modale Darstellung von Dialogen
Modale und non modale Darstellung von Dialogen

Meistens sind Dialoge modal, das heißt, Sie sperren den Rest der Anwendung, um den Fokus eben nur auf sich selbst zu legen. Andererseits gibt es auch non-modale Dialog, Diese erlauben weiterhin den Zugriff auf den Rest der Anwendung. Ein konkretes, Beispiel für einen non-modalen Dialoge wäre z. B. ein Eingabefenster für einen Termin.

So kann ich einerseits in meiner Haupt-Anwendung arbeiten, jedoch gleichzeitig schonmal gewisse Daten für einen Termin ausfüllen. Ebenso erlaubt es mir, mehrere Termine gleichzeitig anzulegen und eventuell fehlende Informationen zu recherchieren. Ich würde daher sagen, die non-modale Variante ist somit Multitasking-freundlicher.

Möchte ich meinen Nutzer hingegen auf einen Inhalt fokussiert halten und vermeiden, dass kreuz und quer gesprungen wird, dann ist vermutlich die modale Variante vorzuziehen.

Stil und Aufbau

Meistens folgen bekannte Tools zum Erstellen solcher Dialoge gängigen Designstandards. Damit finden sich Nutzer einfacher durch eine Art vertraute Umgebung zurecht. In der Mitte des Dialoges befinden sich üblicherweise die beschrifteten Eingabefelder inkl. Bezeichnungen.

Diese werden häufig mit Hilfe von Designer-Toolkits zusammengeklickt und korrekt angeordnet. Unten rechts befinden sich dann zumeist die primären Aktionen, wie z. B. das Bestätigen, oder das Abbrechen des jeweiligen Dialoges.

Hat der Nutzer letztendlich alles fertig bearbeitet und den Dialog geschlossen, geht es in dem jeweiligen anderen Teil der Anwendung weiter.

Bekannte Dialoge

Als PC-Nutzer kennt man vermutlich schon viele Dialoge, ohne Diese bewusst als Solche zu sehen, hier einige Beispiele:

  • Meldungen – Wie Diese aus unserem Beitrag hier, Welche Informationen anzeigen und Kombinationen von Buttons verwenden.
  • Texteingabedialoge – Simple Dialoge, Welche meist nur einen simplen Text entgegennehmen.
  • Datums-Dialoge – Dialog zur Auswahl von einzelnen Daten (plural Datum), oder Zeiträumen.
  • Dateiauswahldialoge – Ein Dialog zur Auswahl von Dateien, oder Verzeichnissen.
  • Farbauswahldialoge – Dialoge, Welche die Auswahl einzelnen, bzw. mehrere Farben anbieten.

Code – VBS MsgBox

Schauen wir uns nach den einzelnen Erklärungen nun ein konkretes „Visual Basic Script“-Beispiel für eine MsgBox an.

Syntax – Schreibweise

Die allgemeine Schreibweise für den Aufruf einer VBS MsgBox sieht wie folgt aus. Zuerst kommt der Befehl selbst, danach der Text für die Nachrichtenbox. Anschließend kann man Konstanten für die Darstellung verschiedener Buttons bestimmen. Zum Schluss kann man dann noch den Titel des erscheinenden Fensters bestimmen.

' grober Aufbau
MsgBox <TextDerBox>, <KonstantenFürButtons>, <TitelDerBox>

Simples Beispiel

' simples Beispiel
MsgBox "Eine beliebige Nachricht", VBOKOnly, "Der Titel"

Dieses simple Beispiel sieht ausgeführt wie gleich folgend aus. Man bekommt einen Dialog mit dem gewünschten Titel, dem gewählten Inhalt und dem „OK“-Button angezeigt.

VBS MsgBox Beispiel
VBS MsgBox Beispiel

Als Kurzform

Als Kurzform mit ausgelassenen optionalen Parametern wie „Buttons“ und „Title“, sieht das Beispiel wie gleich folgend aus. Dies ist offensichtlich die einfachste und bekannteste Variante, um die Nachricht anzuzeigen. Ohne viel „Plim-Plam“ kommen wir zum Ergebnis, jedoch verzichten wir somit auch auf weitere Funktionalität.

MsgBox "Eine beliebige Nachricht"

Beispiel mit mehreren Buttons

Im nächsten Beispiel verwenden wir den „OR-Operator“, um zwei verschiedene Konstanten miteinander zu „verodern“. Somit können wir mehrere Informationen auf einmal übergeben und den Dialog besser gestalten. Ebenso kommen dadurch nun auch zwei Buttons statt Einem zum Einsatz, toll, oder!?

Hier wäre der Code:

MsgBox "Eine beliebige Nachricht", vbYesNo OR vbQuestion, "Der Titel"

Und so sieht das Ganze dann als fertige Messagebox aus:

VBS MsgBox Beispiel mit Icon und zwei Buttons
VBS MsgBox Beispiel mit Icon und zwei Buttons

Ergebnis abfragen

Um das Ergebnis einer MsgBox abzufragen, kannst Du beispielsweise wie folgt vorgehen:

Im ersten Schritt deklarieren wir eine Variable, um den gleich folgenden Wert zu speichern. Danach rufen wir die „MsgBox“-Funktion selbst auf und verwenden dafür passende Parameter. Darunter befinden sich dann die Informationen, dass wir gerne „Ja“, „nein“ und ein passendes Symbol sehen möchten.

Im letzten Schritt werten wir dann die Antwort, also das Ergebnis der Abfrage aus. Falls die „VBS MsgBox“ mit „ja“ beantwortet wurde, also „vbYes“ als Rückgabewert kommt, zeigen wir eine weitere Nachricht an.

Dim x
x = MsgBox ("Eine beliebige Nachricht", vbYesNo OR vbQuestion, "Der Titel")
If x = vbYes Then MsgBox "Es wurde JA gedrückt!"

Button-Konstanten

In der folgenden Tabelle findest Du die möglichen Button-Konstanten der MsgBox-Funktion aus Visual Basic Script.

KonstanteWertBeschreibung
vbOKOnly0Nur „OK“ wird angezeigt
vbOKCancel1„OK“ und „Abbrechen“ werden angezeigt
vbAbortRetryIgnore2„Abbrechen“, „Wiederholen“ und „Ignorieren“ werden angezeigt
vbYesNoCancel3„Ja“, „Nein“ und „Abbrechen“ werden angezeigt
vbYesNo4„Ja“ und „Nein“ werden angzeigt
vbRetryCancel5„Wiederholen“ und „Abbrechen“ werden angezeigt
vbCritical16Ein roter Kreis inkl. weißes Kreuz mit Windows-Error Sound werden dargestellt
vbQuestion32Eine Sprechblase mit Ausrufezeichen und dem nachfragenden Windows-Sound werden dargestellt
vbExclamation48Ein gelbes Warndreieck und der Windows-Sound „Warnung“ wird dargestellt
vbInformation64Eine Sprechblase mit Ausrufezeichen wird dargestellt und der Benachrichtigungs-Sound abgespielt
vbDefaultButton10Der erste Knopf ist bei Darstellung selektiert
vbDefaultButton2256Der zweite Knopf ist bei Anzeige selektiert
vbDefaultButton3512Der dritte Knopf ist bei Darstellung selektiert
vbDefaultButton4768Der vierte Knopf ist bei Anzeige selektiert
vbApplicationModal0Ein Flag um den Dialog als modalen Dialog zu kennzeichnen
vbSystemModal4096Unterbricht weitere System-Prozesse bis MsgBox beantwortet wurde
vbMsgBoxHelpButton16384Fügt einen Hilfs-Button zur Box hinzu
VbMsgBoxSetForeground65536Lässt das Dialogfeld in den Vordergrund rücken
vbMsgBoxRight524288Der Text wird rechtsbündig dargestellt
vbMsgBoxRtlReading1048576Lässt den Text von rechts nach links dargestellt werden
VBS MsgBox Button-Konstanten

Rückgabewert der VBS MsgBox

Hier findest Du eine kleine Tabelle, Welche die einzelnen Rückgabewerte der Messagebox aufschlüsselt.

KonstanteWertButton
vbOK1OK
vbCancel2Abbrechen
vbAbort3Abbrechen
vbRetry4Wiederholen
vbIgnore5Ignorieren
vbYes6Ja
vbNo7Nein
Übersicht VBS MsgBox-Konstanten

Fazit – VBS MsgBox

Wie eingangs erwähnt, ist die Messagebox ein absolutes „Basic Tool“ im Bereich der Softwareentwicklung. Aufgrund dessen hat auch die Skriptsprache Visual Basic Script (kurz VBS) sich nicht lumpen lassen. Wir finden in VBS die Möglichkeit, eine Nachrichtenbox mit dem kurzen Befehl „MsgBox“ anzeigen zu lassen.

Dabei haben wir verschiedene Ansätze, die „MsgBox“ anzeigen zu lassen. Wir können aus verschiedenen Knöpfen/Kombinationen wählen und mit den unterschiedlichen Rückgabewerten arbeiten.

Für komplexere Eingaben, wie z. B. eine Adresse, oder ein Datum ist die „MsgBox“ allerdings nicht geeignet.

Relevante Beiträge

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert