HTML-Scripts ◦ ?

### Einbettung eines Visual Basic-Skripts in HTML

Wenn der Browser eine Webseite liest, speichert er die Zeichen zwischen den HTML-Schlüsselwörtern SCRIPT und /SCRIPT temporär und führt den Skriptcode nach jedem Aufruf aus. Wenn Sie zum Beispiel auf den folgenden Hyperlink Eine einfache VBScript-Seite klicken, dann führt der Browser nach einem Klick auf die erscheinende Schaltfläche den folgenden HTML-Code mit der eingebetteten VBScript-Prozedur aus:

> Prozedurdefition

>     <HEAD>
>       <TITLE>Eine einfache VBScript-Seite</TITLE>
>       <SCRIPT LANGUAGE="VBScript">
>          Sub Beispielschaltflaeche_OnClick
>             MsgBox "Den Quellcode finden Sie auf der vorangehenden Seite"
>          End Sub
>       </SCRIPT>
>     </HEAD>

> Ein Prozeduraufruf

>     <BODY>
>        <h1>Eine einfache VBScript-Seite</h1>
>        <FORM Name="Beispielformular" Action="">
>           <INPUT NAME="Beispielschaltflaeche" TYPE="BUTTON" VALUE="Klicken Sie hier">
>        </FORM>
>     </BODY>

Der Code zwischen SCRIPT und /SCRIPT wird vorerst nicht ausgeführt. Erst wenn der Benutzer die Schaltfläche (engl. button) Beispielschaltflaeche drückt, wird der Code zwischen Sub und End Sub aufgerufen. Die Subroutine Beispielschaltflaeche_OnClick ist nichts anderes als eine Ereignisprozedur, wie wir sie aus VBA kennen. Der Prozedurname besteht aus zwei Teilen: dem Schaltflächennamen Beispielschaltflaeche, und dem Ereignisnamen OnClick. Die beiden Teile sind durch einen Unterstrich (_) miteinander verbunden. Jedesmal, wenn im Browser auf die Schaltfläche geklickt wird, sucht Internet Explorer nach der zugehörigen Ereignisprozedur Beispielschaltflaeche_OnClick und führt sie aus.

### Ein Java-Skript aus TESTS

VBScript ergänzt HTML mit Sprachelementen, die uns bereits aus VBA vertraut sind. Verbreiteter als VBScript ist allerdings JavaScript (bzw. JScript für die JavaScript-Variante von Microsoft) - nicht zuletzt deshalb, weil es von allen Web Browsern ausgeführt werden kann. Das folgende Beispiel ist in JScript geschrieben.

TESTS-Hyperlinks, die auf eine externe Anwendung wie Excel oder Word verweisen, rufen die Java Script-Funktion parser auf. Wenn Sie zum Beispiel auf QuadratProgrammiert.xls klicken, dann wird die gleichnamige Excel-Arbeitsmappe geöffnet:

> Aufruf der Funktion parser

>     <a onclick="parser('../QuadratProgrammiert.xls')"
>        style="text-decoration: underline;color: #808000; cursor: hand">
>        <font face="Verdana">
>        <b>QuadratProgrammiert.xls</b>
>     </a>

Die Funktion parser gibt den absoluten Pfad ihres Eingabearguments relPfad zurück, wobei relPfad der relative Pfad des Arguments ist, zum Beispiel der relative Pfad eines TESTS-Hilfethemas wie mk:@MSITStore:TESTS.chm::/ArgumenteEinesUnterprogramms.htm. Die Funktion parser ermittelt daraus den absoluten Pfad, zum Beispiel mk:@MSITStore:E:\FallbeispielTESTS\TESTS.chm::/ArgumenteEinesUnterprogramms.htm, und gibt ihn als Funktionswert zurück.

> D efition der Funktion parser

>     // Microsoft nennt seine Variante von JavaScript "JScript"
>     <SCRIPT Language="JScript">
>       function parser(relPfad) {
>          var posStart, posEnd, link;

>          // Absoluten Pfad von relPfad zurückgeben
>          // location.href.search ergibt zum Beispiel ...
>          //   mk:@MSITStore:C:\<etc.>\TESTS.chm::/ArgumenteEinesUnterprogramms.htm.
>          // posColon (Position von :) ist hier 2, posStart (Position von C) ist 14.
>          posColon = location.href.search(":");
>          if (posColon == 2)
>             // Start des Verzeichnispfads bei neuer Browserversion
>             posStart = 14;
>          else
>             // Start des Verzeichnispfads bei alter Browserversion
>             posStart = 7;
>          // Ende des Verzeichnispfads
>          posEnde = location.href.lastIndexOf("\\") + 1;
>          // im Beispiel: C:\<etc.>\ & relPfad
>          link = 'file:///' + location.href.substring(posStart, posEnde) + relPfad;
>          // Rückgabewert der Funktion parser
>          location.href = link;
>       }
>     </SCRIPT>

Eine detaillierte Erläuterung erhalten Sie im Thema "Linking to files outside your help system" der Hilfekomponente des HTML Help Workshop.

### Manuell mit VBScript erstellte Web Quizzes

Web Quizzes lässt Sie einen Test zu einem Thema Ihrer Wahl absolvieren. Der VBScript-Code eines solchen Tests ist im Gegensatz zu den automatisch erzeugten Web Quizzes von TESTS manuell geschrieben worden. Readme.pdf des Verzeichnisses WebquizDatenbanken führt Sie in deren Entwicklung ein.

Ein Installationsprogramm in VBScript