Profi-Tipp: Skript-Programme mit komfortablen Dialogen ausstatten

Windows Scripting Host (WSH) bietet standardmäßig nur begrenzte Möglichkeiten für die Kommunikation mit dem Benutzer. Ein Trick befähigt WSH zur Ausgabe aussagekräftiger Dialoge.

1.Das Beispiel-Skript LISTFOLDER

Nutzen Sie den Internet Explorer für die Ausgabe erweiterter Meldungen. Das Beispiel-Skript LISTFOLDER.VBS listet den Inhalt eines Ordners auf. Sie finden es auch auf der Heft-CD unter dem CHIP-Code Praxis04.

Option Explicit

Dim listArgs
Dim objFileSystem
Dim objFolder
Dim objSubFolder
Dim objFile
Dim objIE
Dim szFolder
Dim szTempFile
Set listArgs = WScript.Arguments
If listArgs.Count = 0 Then
szFolder = InputBox("Welcher Ordner?","Ordner auswählen", "C:\")
Else
szFolder = listArgs(0)
End If
Set objFileSystem = CreateObject ("Scripting.FileSystemObject")
If objFileSystem.FolderExists(szFolder) Then
Set objFolder = objFileSystem.GetFolder(szFolder)
Set objIE = CreateObject("InternetExplorer.Application")
objIE.navigate("about:blank")
'Anpassungen am Internet Explorer
objIE.width = 450
objIE.height = 400
objIE.Toolbar = false
objIE.Statusbar = false
objIE.visible = true
'Anpassungen am geoeffneten Dokument
objIE.document.title = "Ordnerinhalt"
objIE.document.bgColor = "yellow"
objIE.document.fgColor = "#FF0000"
objIE.document.body.innerHTML = "Inhalt des Ordners <B>" & szFolder & "</B><br><br>"
For Each objSubFolder In objFolder.Subfolders
objIE.document.body.innerHTML = objIE.document.body.innerHTML & "Ordner: "& objSubFolder.Name & "<br>"
Next
For Each objFile In objFolder.Files
objIE.document.body.innerHTML = objIE.document.body.innerHTML & "Datei: " & objFile.Name & "<br>"
Next
else
MsgBox "Angegebener Ordner existiert nicht!"
end if
2. Internet Explorer als Anzeige


Das Objekt »objIE« vom Typ »InternetExplorer.Application« repräsentiert den Internet Explorer und wird mit »Set objIE = CreateObject ("InternetExplorer.Application")« erzeugt. »objIE.navigate("about: blank")« lädt im Browser ein leeres Dokument, indem es der Eigenschaft »objIE.visible« den Inhalt »true« zuweist. Dann erhält »document.body.innerHTML« von »objIE« die HTML-Befehle zum Anzeigen des Textes. Das erledigt die Anweisung »objIE.document.body.innerHTML = "Inhalt des Ordners <B>" & szFolder & "</B> <br><br>"«. HTML-Tags formatieren die Texte.


! Achtung: Den Inhalt einer bereits definierten Textausgabe ergänzen Sie durch die Eingabe von: »objIE.document.body.inner HTML = objIE.document.body.inner HTML & "Ordner: " & objSubFolder.Name & "<br>"«.

3. Das Layout individuell anpassen

Über die Eigenschaften des Objektes »objIE« können Sie vor der Anweisung »objIE.visible = true« das Layout des Internet Explorers individuell anpassen. Die Eigenschaften »width« und »height« definieren Breite und Höhe des Browser-Fensters. Durch die Anweisung »Toolbar = false« verschwinden Menü und Symbolleisten, »objIE.Statusbar = false« entfernt die Statusleiste. Auch das aktuell geladene Dokument »objIE.document« verfügt über Eigenschaften, die Sie leicht ändern können. Mit »title« definieren Sie den angezeigten Dokumentnamen in der Titelleiste. Die Eigenschaften »bgColor« und »fgColor« bestimmen Hinter- sowie Vordergrundfarbe. Bei der Angabe der Farbe können Sie entweder auf die
16 HTML-Farbschlüsselworte black, gray, maroon, purple, green, olive, navy, teal, silver, white, red, fuchsia, lime, yellow, blue und aqua zurückgreifen oder bis zu 256 Farben über die Hexadezimalwerte definieren. Sowohl die Schlüsselworte als auch die Hexadezimalwerte müssen Sie mit Anführungszeichen einschließen.