Ausgabe von Daten

Normale Popup-Fenster

Normalerweise können Meldungen mit den Funktionen ‘MsgBox’ (Ausgabe eines Textes) und ‘InputBox’ verarbeitet werden.

Das folgende Beispiel zeigt eine Eingabeaufforderung, die hartnäckig in einer Endlosschleife verbleibt, bis man etwas eingibt oder explizit abbricht. Solche Endlosschleifen könen z.B. bei der Eingabe von Dateinamen sinnvoll sein, falls der Dateiname existiert:

Do
    Eingabe = InputBox("Ihr Name:", "Bitte antworten Sie", "Gabi Müller")
    If Eingabe = "" Then
        Meldung = "Sie haben leider nichts eingegeben" & vbNewLine & "Nochmal versuchen ?"
        If MsgBox(Meldung, vbOKCancel + vbCritical, "Nächster Versuch") = vbCancel Then WScript.Quit
    Else
        MsgBox Eingabe, vbOKOnly, "Das haben Sie eingegeben"
    End If
Loop While Eingabe = ""

' Hier folgen weitere VBS-Anweisungen, den Inhalt der Variablen Eingabe verwenden

Das Skript fragt nach einer Eingabe, die es als Text in der Variablen 'Eingabe' speichert.

Temporäre Popup-Fenster
Das folgende Beispiel zeigt, wie man ein PopUp-Fenster für einige Sekunden anzeigt und dann wieder automatisch verschwinden läßt. Besonders lustig ist das, wenn das Skript Warnmeldungen wie ‘Wollen sie die Festplatte wirklich formatieren ?’ ausgibt und nur eine OK-Schaltfläche hat ...
Set Shell = CreateObject("WScript.Shell")
Shell.Popup "Diese Meldung erscheint nur 2 Sekunden", 2, "Kurzmeldung", vbOKOnly + vbCritical

Popup hat vier Argumente: Zuerst kommt die Meldung, dann die Dauer, für die die Meldung angezeigt wird, dann der Titel und zum Schluss die Codes für die Buttons, die denen von MsgBox entsprechen.

Ausgabe in den Browser

Für besonders umfangreiche Ausgaben kann man einen Browser verwenden, indem man mit VBS zunächst eine HTML-Datei schreibt und dann die Datei mit ‘Run’ ausführt. Dabei wird der Browser benutzt, welcher der Dateiendung *.HTML zugeordnet ist.

Option Explicit
Dim Nr, AusgabeDatei, DateiName, OrdnerName, Shell

Set Shell = CreateObject("WScript.Shell")

With CreateObject("Scripting.FileSystemObject")
    DateiName = .GetSpecialFolder(2) & "\TempAusgabe.html"
    Set AusgabeDatei = .CreateTextFile(DateiName, True)
End With

AusgabeDatei.WriteLine "<HTML><HEAD><TITLE>Special Folders</TITLE></HEAD>"
AusgabeDatei.WriteLine "<BODY><H1>Special Folders</H1>"
AusgabeDatei.WriteLine "<TABLE BORDER=1 CELLPADDING=5 CELLSPACING=0>"
AusgabeDatei.WriteLine "<TR><TH>Nr</TH><TH>Ordner</TH></TR>"

Nr = 0

On Error Resume Next

Do

    OrdnerName = ""
    OrdnerName = Shell.SpecialFolders(Nr)
    If OrdnerName = "" Then Exit Do

    AusgabeDatei.WriteLine "<TR><TD>" & Nr & "</TD><TD>" & Ordnername & "</TD></TR>"
    Nr = Nr +1

Loop While True

On Error Goto 0

AusgabeDatei.WriteLine "</TABLE></BODY></HTML>"
AusgabeDatei.Close

Shell.Run DateiName
Das Skript gibt die Namen einiger spezieller Windows-Verzeichnisse aus, die mit der 'SpecialFolders'-Methode des 'Wscript.Shell'-Objektes bestimmt werden können.