Ausgaben per HTML - Seite 2

Der Internet Explorer als Ausgabefläche

Der Internet Explorer als Ausgabefläche
Bereits in den anderen Artikeln dieses Heftes wurde HTML, ohne viel Aufhebens darum zu machen, für die Ausgabe benutzt. Angezeigt wurden die HTML-Dateien mit dem Internet Explorer, der über die Run-Funktion beim WshShell-Objekt gestartet wurde. Der Anwender sah dabei den Browser so, wie er auch angezeigt wird, wenn er direkt, zum Beispiel über die Schnellstartleiste, aufgerufen wird.

Doch der Internet Explorer hat ein kleines Geheimnis, er kann auch als Komponente angesprochen werden. Das bedeutet konkret, dass Sie den Internet Explorer über ein Script fernsteuern können. Dabei können Sie nicht nur bestimmen, was der Internet Explorer anzeigen soll, Sie können auch bestimmen, wie er es anzeigen soll, denn seine Optik ist in vielen Bereichen variierbar. Da es uns für die Ausgabe von Scriptresultaten zum Beispiel nur auf die HTML-Darstellung, nicht aber auf den Rahmen ankommt, schalten wir die Symbol-, Menü- und Statusleisten einfach ab. Das Ergebnis ist ein schlichtes Fenster, dessen Inhalt von einem Script nahezu beliebig festgelegt werden kann. Voraussetzung, um an den Internet Explorer als Komponente heranzukommen, ist der Aufruf der CreateObject-Funktion:

Set oIE = WScript.CreateObject _
("InternetExplorer.Application")

Die Variable oIE steht nun für den gestarteten (aber noch unsichtbaren) Internet Explorer. Über die Eigenschaften der Komponente können Sie den Internet Explorer zum Beispiel sichtbar machen:

oIE.Visible = True
die Größe des Fensterrahmens einstellen:
oIE.Width = 400
oIE.Height = 400

oder festlegen, dass keine Symbol- und Statusleiste angezeigt werden soll:

oIE.Toolbar = False
oIE.Statusbar = False

An dieser Stelle soll Ihnen noch einmal der VBScript-Befehl Widthans Herz gelegt werden, durch den sich das mehrfache Ansprechen ein und derselben Komponente nacheinander etwas abkürzen lässt. Anstatt zu schreiben:

oIE.Width = 400
oIE.Height = 400
oIE.Toolbar = False
oIE.Statusbar = False
usw.,

schreibt man :

With oIE
.Width = 400
.Height = 400
.Toolbar = False
.Statusbar = False
End With

Diese Schreibweise ist etwas kürzer und macht größere Scripts besser lesbar. Listing 1 zeigt ein Script, das im Internet Explorer einen kleinen Satz ausgibt. Der Zugriff auf den Innenbereich erfolgt dabei über den Befehl:

oIE.document.body.innerHTML _
= "Hallo, es ist jetzt: " & Time

Diese Ausgabe kann aber erst dann erfolgen, wenn der Innenbereich bereit ist. Dies wird über eine kleine Do-Schleife abgefragt:

Do
Loop While oIE.ReadyState<>4

Nehmen Sie das Listing 1 einfach als Grundlage für eigene Experimente. Doch, wo erfährt man etwas über die Eigenschaften und Methoden (und auch Ereignisse) der Internet Explorer-Komponenten? Nun, diese sind zwar alles andere als geheim, doch müssen Sie dazu im Internet ein wenig forschen. Eine Übersicht (allerdings nur in Englisch) über das InternetExplorer-Objekt (es heißt auch WebBrowser-Control) finden Sie unter http://msdn.microsoft.com/workshop/browser/webbrowser/reflist_vb.asp. Dort erfährt man auch, dass die Zahl 4, die im letzten Beispiel für die Abfrage der ReadyState benutzt wurde, für den Zustand Complete (also "alles klar") steht.

Artikel kommentieren