VBS MsgBox

VBS MsgBox
VBS MsgBox

VBS MsgBox – Visual Basic Script MsgBox

Du möchtest eine VBS MsgBox (Visual Basic Script MessageBox) anzeigen und dem Nutzer z. B. 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 mir bekannten 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.

++ 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 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 „MsgBoxkeine 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

VBS MsgBox - modale und non modale darstellung
VBS MsgBox – modale und non modale darstellung

Meistens sind Dialoge modal, das heißt, sie sperren den Rest der Anwendung, um den Fokus eben nur auf Sie 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.

Stil und Aufbau

Meistens folgen bekannte Tools zum Erstellen solcher Dialoge gängigen „GUI-Standards„.

Damit finden sich Nutzer einfacher durch eine vertraute Umgebung zurecht.

In der Mitte des Dialoges befinden sich meistens die beschrifteten Eingabefelder.

Diese werden häufig durch Designer-Toolkits zusammengeklickt und korrekt angeordnet.

Unten rechts befinden sich dann zumeist die primären Aktionen, wie das Bestätigen, oder das Abbrechen des jeweiligen Dialoges.

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.
  • FarbauswahldialogeDialoge, Welche die Auswahl einzelnen, bzw. mehrere Farben anbieten.

Code – VBS MsgBox

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

Syntax – Schreibweise

Die allgemeine Schreibweise – praktisch also die Syntax – sieht wie folgt aus:

MsgBox <TextDerBox>, <KonstantenFürButtons>, <TitelDerBox>

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 natürlich 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

I dem 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„, „neinund ein passendes Symbol sehen möchten.

Im letzten Schritt werten wir dann die Antwort, also das Ergebnis der Abfrage aus.

Falls die „VBS MsgBoxmit 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!"

In der folgenden Tabelle findest Du die möglichen ButtonKonstanten 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

Wie eingangs erwähnt, ist die Messagebox ein absolutes „Basic Tool“ im Bereich der Softwareentwicklung.

Auf Grund 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.