Bei VBScript (Visual Basic Script) handelt es sich um eine Skriptsprache, die vom Soft- und Hardwarehersteller Microsoft entwickelt wurde. Es bestehen große Ähnlichkeiten zur Programmiersprache Visual Basic (VB) und zur Skriptsprache Visual Basic for Applications (VBA). In der Regel werden Programme, die in VBScript geschrieben wurden, während der Laufzeit analysiert. Also wird VBScript interpretiert.
Anwendungsbereiche von VBScript
Da VBScript auf alle unter dem Betriebssystems Windows verfügbaren COM-Komponenten mit IDispatch-Schnittstelle, auf alle Bibliotheken des Betriebssystems und auch auf andere Anwendungen zugreifen kann, ergeben sich für VBScript drei Anwendungsbereiche.
Die Steuerung des Betriebssystem über den Windows Scripting Host stellt den ersten Anwendungsbereich dar. Es ist mittels VBScript möglich, mit Hilfe eigener Skripte Standardaufgaben zu automatisieren. Dabei wird VBScript insbesondere innerhalb von .WSF-, .VBS-, .CHM- und .HTA-Dateien akzeptiert. Während es sich bei .WSF- und .VBS-Dateien um reine Textdateien handelt, die der Windows Scripting Host ausführt, werden .CHM- und .HTA-Dateien als HTML-Dokumente vom Microsoft-Browser Internet Explorer ausgeführt. Ein weiterer Anwendungsbereich ist die Einbettung von VBScript in Webseiten. Hierdurch kann der Internet-Browser seitens des Clients gesteuert werden. Durch diese Funktionalität steht VBScript in direkter Konkurrenz zur Skriptsprache JavaScript, die vom ehemaligen US-amerikanischen Softwareunternehmen Netscape Communications entwickelt wurde und dazu benutzt werden kann, dynamische Inhalte oder ganze Programme in eine Internet-Seite zu integrieren. Durchsetzen konnte sich VBScript hinsichtlich dieses Anwendungsbereiches allerdings noch nicht. Dass VBScript im Gegensatz zu JavaScript nur vom Browser Internet Explorer direkt unterstützt wird, kann als Grund hierfür angesehen werden. Auch im Zusammenhang mit Webservern findet VBScript Anwendung. Läuft ein Server unter dem Betriebssystem Windows, so ist VBScript ein wesentlicher Bestandteil der Microsoft Active Server Pages (ASP). Realisiert wird dies dadurch, dass in VBScript geschriebener Code in eine HTML-Seite eingebettet wird, wobei die HTML-Seite die Dateiendung .ASP aufweist. Diese .ASP-Dateien werden vom Server-Dienst Internet Information Services (IIS) als Programm interpretiert. Das Ergebnis der Programmausführung wird an den Client, beispielsweise an den Internet-Browser eines Webseitenbesuchers, geliefert. Auf diese Weise kann zum Beispiel eine Datenbankabfrage ermöglicht werden, wobei das Ergebnis der Abfrage anschließend verarbeitet und in Form einer HTML-Datei angezeigt werden kann. Aufgrund dieses Anwendungsbereiches steht VBScript in direkter Konkurrenz zur Skriptsprache PHP, während der Server-Dienst Internet Information Services in punkto Funktionalität dem Apache Webserver sehr ähnlich ist. Um das eben beschriebene Konzept von den inzwischen verfügbaren Nachfolgeprodukten abzugrenzen, wird es auch als „Classic-ASP“ bezeichnet.
Die Zukunft von VBScript
Zwar wird die Nutzung von VBScript vom Entwickler Microsoft derzeit noch unterstützt, jedoch werden keine neuen Funktionen mehr hinzugefügt. Daher wird VBScript inzwischen als „tote Programmiersprache“ bezeichnet. Obwohl die entsprechenden Nachfolgeprodukte schon erhältlich sind, genießt VBScript eine noch immer vergleichsweise hohe Akzeptanz. Zu den von Microsoft entwickelten Nachfolgeprodukten zählen die Technologie ASP.NET, die im Bereich der Internet-Server die Funktionalität des „Classic-ASP“ übernehmen soll, sowie die objektorientierte Programmiersprache Visual Basic .NET. Diese Programmiersprache soll in Zukunft VBScript ersetzen. Zudem soll das alte Windows-Hilfesystem langfristig durch die seit Windows Vista existierende Assistance Platform Help ersetzt werden, und auch der Windows Scripting Host wird zunehmend durch die Windows PowerShell ersetzt. Fand der Windows Scripting Host in der Vergangenheit auch in Rahmen umfangreicher und komplexer Projekte Anwendung, so könnten hierfür in Zukunft die Visual Studio Express Editionen eingesetzt werden.
Eigenschaften von VBScript
Im Gegensatz zu Visual Basic for Applications (VBA) und Visual Basic (VB) gibt es in der Skriptsprache VBScript keine Daten-Typisierung. Es gibt lediglich den Datentyp Variant, der die Eigenschaft besitzt, alle anderen Datentypen in sich speichern zu können. Zudem weist VBScript einen im Vergleich zu VBA reduzierten Funktionsumfang auf, während die Erstellung von Klassen dennoch möglich ist. Wird ein in VBScript geschriebenes Skript ausgeführt, dann arbeitet der Scripting Host dieses Skript so lange ab, bis eine prozedurale oder funktionelle Anweisung auftritt. Keine Ausführung erfolgt, wenn der automatisch startende Programmanfang entsprechend gekennzeichnet ist.
Zu den Vorteilen der Skriptsprache VBScript zählen die geringen Dateigrößen, die daraus resultieren, dass die Skripte vom Browser oder vom Betriebssystem interpretiert werden, die leichte Erlernbarkeit der Sprache insbesondere dann, wenn Vorkenntnisse in VBA oder VB vorhanden sind, sowie die hohe Verfügbarkeit. VBScript ist auf allen Windows-Betriebssystemen ab den Versionen 98SE bzw. 2000 vorhanden. Dass VBScript auf bereits installierte Komponenten wie Office-Programme und auf weitere Anwendungen zugreifen kann, kann ebenfalls als Vorteil dieser Sprache angesehen werden.
Jedoch besitzt VBScript einige Nachteile. Der Standardeditor Microsoft Script Debugger ist nur schlecht akzeptiert, zudem ist beim Betriebssystem Windows eine Abschottung gegen schädliche VBScript-Programme nicht vorgesehen. Außerhalb von Produkten des Herstellers Microsoft ist VBScript nur gering verbreitet und mit anderen Betriebssystemen wie Unix ist VBScript nicht kompatibel.
Sicherheit
Dass sich Microsoft dazu entschloss, bei den E-Mail-Programmen Outlook Express und Microsoft Outlook die Einbettung von VBScript in HTML-Mails zuzulassen, hatte zahlreiche Probleme hinsichtlich der Sicherheit zur Folge. So wurden mittels eingebetteter Skripte eine Vielzahl von Viren verbreitet, welche die zu Beginn nur unzureichend geschützte Schnittstelle zu ActiveX-Controls ausnutzten. Außerdem ist es kaum möglich, VBScript-Code vor einer möglichen Einsichtnahme durch Dritte zu schützen. Um die Einsichtnahme des Quelltextes zu verhindern, kann jedoch der MS Script Encoder verwendet werden, der in der Lage ist, in VBScript geschriebenen Quelltext zu verschlüsseln. Eine Verschlüsselung mittels bestimmter ActiveX-Controls, den Scripting-Encoder-Objekten, ist ebenfalls möglich.