HTA-Dateien

Wie kann man kleine Programme unter Windows erstellen, die nicht nur Befehle ausführen, sondern auch ein Eingabeformular anbieten, mit dem Optionen ausgewählt, Erklärungen abgegeben und Daten übergeben werden können? Es sind HTA-Dateien. Sie sind eine Mischung aus VB Skript und sie verwenden Methoden aus HTML und JavaScript, um Interaktionen mit dem Anwender zu realisieren.

Was kann HTA?

Zunächst einmal steht der Sprachumfang von VB Skript zur Verfügung, der über den Zugriff auf andere Windows-Objekte erweitert werden kann. Da auch eine Kommandozeile erstellt werden kann, läßt sich mit HTA für ein Kommandozeilenprogramm eine grafische Oberfläche erzeugen. HTA kann auf alle Elemente eines HTML-Formulars zugreifen.

Der Vorteil von HTA ist der: Die Programme sind relativ klein, da der Quelltext enthalten ist und interpretiert wird. Der Inhalt kann leicht auf Funktion, Fehler und Freiheit von schädlichen Funktionen geprüft werden. Beschreibende Texte und Hilfe kann einfach integriert werden. Wenn keine Grafiken benötigt werden, bleibt für die Anwendung eine kleine Datei übrig, die alle Aufgaben erledigt. HTA-Dateien eigenen sich daher vor allem für kleinere und spezielle Automatisierungen.

Unterschied zu JavaScript in HTML-Seiten

Der wesentliche Unterschied zu JavaScript, das in jedem Browser ausgeführt werden kann, liegt im Zugriff auf die lokale Festplatte. Während JavaScript aus gutem Grund nicht selbst auf der lokalen Festplatte stöbern kann, ist es mit VBS in einer HTA-Datei möglich, Programme zu starten, dabei Parameter zu übergeben oder Textdateien selbst zu schreiben. Natürlich lassen sich mit HTA/VBS auch die üblichen Dateioperationen ausführen, also löschen, verschieben, erstellen von Ordnern und Links.

Voraussetzungen für die HTA-Programmierung

Kenntnisse des Windows Scripting Hosts, HTML-Kenntnisse und da insbesondere Kenntnisse der Formularelemente in HTML sind erforderlich. Für die Bearbeitung habe ich leider keinen vernünftigen Debugger gefunden. Sinnvolle Werkzeuge sind daher der Phase 5 Editor (bietet ein spezielles Syntaxschema für VBS in HTML) und Notepad++ (entweder VB oder HTML-Syntaxschema, kann aber schnell gewechselt werden).

Einige Vorschläge zur Programmierung habe ich auf einer eigenen Seite zusammengetragen.

Einfache Beispiele für HTA

Im folgenden habe ich eine Reihe von Beispielen programmiert, mit denen die Grundfunktionen von HTA-Dateien demonstriert werden. Die Beispiele sind für Anwender mit VB/VBS/VBA-Erfahrung gedacht, die bestimmte Funktionen aus einem Baukasten zusammenstellen wollen:

Hinweis: Alle Beispiele sind zum Download in ein ZIP-Archiv gepackt. Es ist möglich, dass ein Virenscanner den VBS-Code erkennt, als schädlich einstuft und das Herunterladen blockiert.