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.
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.
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.
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:
Verzeichnisdialog: Aufruf eines Windows-Dialogs zur Verzeichnisauswahl. Das gewählte Verzeichnis wird in ein Textfeld geschrieben. Eine weitere Schaltfläche zeigt den Pfad in einer Meldungs-Box an und öffnet dann das Verzeichnis im Windows-Explorer.
Dateidialog: Aufruf eines Windows-Dialogs zur Dateiauswahl. Der gewählte Dateiname wird mit vollständigem Pfad in ein Textfeld geschrieben. Eine weitere Schaltfläche zeigt den Pfad in einer Meldungs-Box an, öffnet dann den Windows-Explorer und markiert darin die Datei und schließlich wird die Datei über die Windows-Verknüpfung geöffnet.
Optionsdialog: In JavaScript lassen sich Optionen ganz einfach auslesen. Microsoft macht es da in der HTA-Datei schwerer. Das Beispiel zeigt mehrere Auswahlmöglichkeiten.
Ausgabe ins Fenster: Oft ist es sinnvoll, dem Anwender Meldungen über den Verlauf der Aktionen zu geben, z.B. ob ein Kopiervorgang geklappt hat, ob seine Optionen passen oder vielleicht gibt es einen Vorschau-Modus, in dem das Skript zeigt, was es machen würde.
Das Beispiel zeigt, wie ein Textfenster vom Skript mit Daten gefüllt werden kann und wie sogar der angezeigte Text und die Beschriftung einer Schaltfläche automatisch beim Start vorgenommen werden.
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.