Ausgabe von Daten
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.
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.
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.