Einbinden von Skripts in eine grafische Benutzeroberfläche Teil 2

Mit HTML-Anwendungen (HTAs) haben Sie die Möglichkeit, Skripts in eine grafische Benutzeroberfläche (GUI) einzubinden, die Kontrollkästchen, Optionsfelder, Dropdownlisten und alle anderen Windows-Elemente enthält, an die Sie sich gewöhnt haben. In diesem zweiten Artikel einer mehrteiligen Reihe wird erläutert, wie Sie standardmäßige Steuerelemente für Benutzeroberflächen zu einer HTML-Anwendung (HTA) hinzufügen können.

In diesem Beitrag

Teil 1

• Teil 2

HTAs für Anfänger: Teil 2

Hallo Leute, willkommen bei HTAs für Anfänger. (Vielen Dank, aber sparen Sie sich bitte Ihren Beifall bis zum Ende auf.) In unserem letzten Teil haben wir Ihnen HTAs (Abkürzung von HTML-Anwendungen) vorgestellt, mit denen Sie Skripts in eine Benutzeroberfläche einbinden können. Im ersten Artikel wurde die Vorgehensweise zum Erstellen einer einfachen HTA erläutert. Durch diese Anwendung wurden beim Klicken auf eine Schaltfläche beispielsweise bestimmte Informationen über die auf einem Computer installierten Dienste abgerufen und dann direkt in der HTML-Anwendung angezeigt. Für viele von Ihnen war dies sicherlich schon ein spektakuläres Erlebnis.

Na gut, warum auch nicht? Aber Sie haben zumindest auch etwas gelernt.

Unserem ersten Artikel konnten Sie genügend Informationen entnehmen, um eine "rudimentäre" HTA selbst zu erstellen. Ohne Zweifel haben dabei einige von Ihnen gedacht: "Gut, ich weiß jetzt, wie man eine Schaltfläche zu einer HTML-Anwendung hinzufügt, das sollte reichen. Viel Neues muss man dann wahrscheinlich gar nicht mehr dazulernen." Das Gegenteil ist der Fall. Schaltflächen sind zwar ganz interessant und nützlich, allein damit kommen Sie jedoch bei der Entwicklung einer HTML-Anwendung nicht aus: Es gibt eine Vielzahl anderer Benutzeroberflächenelemente, die Sie in eine HTA integrieren können, beispielsweise Listenfelder, Kontrollkästchen und natürlich das wohl beliebteste Steuerelement jedes Entwicklers: das Optionsfeld. Rein zufällig werden wir Ihnen im aktuellen Artikel dieses Monats (Teil 2 der Artikelserie) ausführlich beschreiben, wie Sie viele dieser Steuerelemente zu einer HTA hinzufügen können.

Kein Grund, sich extra zu bedanken, wir tun nur unseren Job.

In diesem Monat werden wir Ihnen die Grundlagen zum Hinzufügen verschiedener HTML-Steuerelemente zu einer HTA vermitteln. Wenn Sie dann mit der Verwendung verschiedenster Steuerelemente vertraut sind, werden wir uns im nächsten Monat mit praktischen Implementierungen beschäftigen und mit der Entwicklung einer HTA beginnen, die mit interessanten und nützlichen Funktionen ausgestattet sein wird. (Nein, eigentlich wissen wir noch nicht so richtig, was das sein wird. Aber kein Problem – wir haben ja noch einen Monat Zeit, das herauszufinden!) Und danach – na ja, warten Sie einfach ab, was passiert.

Auf jeden Fall möchte ich Ihnen zunächst einmal dafür danken, dass Sie heute hier anwesend sind. Wir hoffen, dass Ihnen diese Veranstaltung gefällt und wünschen Ihnen vorab bereits wieder einen sicheren Heimweg.

Hinweis zu den Übungen dieses Monats

Im Lernprogramm dieses Monats werden wir in regelmäßigen Abständen eine Pause einlegen und Ihnen die Möglichkeit geben, Ihr neu erworbenes Wissen sofort anzuwenden und zu überprüfen, indem wir Sie auffordern, eine HTA unter Einbeziehung des aktuellen Themenbereichs zu schreiben (beispielsweise das Hinzufügen einer Dropdownliste zu einer HTA). Nur um zu beweisen, dass wir nicht vollkommen herzlos sind, haben wir für Sie folgende Basisvorlage bereitgestellt, die für alle Übungen verwendet werden kann:

<html>
<head>
<title>HTA Test</title>
<HTA:APPLICATION 
     ID="objTest" 
     APPLICATIONNAME="HTA Test"
     SCROLL="yes"
     SINGLEINSTANCE="yes"
>
</head>

<SCRIPT LANGUAGE="VBScript">

' PUT YOUR SUBROUTINES HERE

</SCRIPT>

<body>

' PUT THE HTML TAGS HERE

</body>

Zur Verwendung dieser Vorlage müssen Sie den oben stehenden Code lediglich kopieren und in den Editor (oder einen anderen Texteditor) einfügen. Ersetzen Sie die Zeile ‘ PLACE YOUR SUBROUTINES HERE durch den Skriptcode, und ersetzen Sie die Zeile ‘ PUT THE HTML TAGS HERE durch den gewünschten HTML-Code. Speichern Sie dann diese Datei mit der Dateierweiterung .hta, und Sie haben (hoffentlich) eine voll funktionsfähige HTML-Anwendung.

Dn151208.590B5404BFEA7F06684DB47B00539355(de-de,TechNet.10).pngZum Seitenanfang

Hinzufügen eines Dropdown-Listenfeldes

HTML-Anwendungen sind definitiv "cool": Eine HTA sieht erheblich professioneller aus als ein Skript, das in einem Befehlsfenster ausgeführt wird. Andererseits ist ja bekanntermaßen das Aussehen nicht entscheidend (zum Glück für die Skriptentwickler). In der Tat wäre es ziemlich sinnlos, eine HTA zu erstellen, wenn diese nicht auch über Fähigkeiten verfügen würde, mit denen ein normales Skript nicht aufwarten kann.

Über welche zusätzlichen Fähigkeiten verfügt also eine HTML-Anwendung im Gegensatz zu einer althergebrachten VBS-Datei? Angenommen, Sie arbeiten mit mehreren Dateiservern und müssen in bestimmten Abständen ein Skript ausführen, um Informationen von einem dieser Computer abzurufen. Wie können Sie erreichen, dass ein bestimmtes Skript nur einen Dateiserver als Ziel erfasst? Eine erprobte und bewährte Variante ist die Verwendung von Befehlszeilenargumenten:

cscript myscript.vbs /server:atl-fs-01

Was ist falsch an Befehlszeilenargumenten? Nichts, absolut nichts.

OK, Sie müssen jedes Mal erneut den Computernamen eingeben. Zudem müssen Sie darauf achten, dass der Name immer richtig eingegeben wird. Außerdem müssen Sie sich die Namen aller Dateiserver merken. All dies klingt natürlich nicht sonderlich verlockend, aber haben Sie denn eine Wahl?

Wie wäre es mit folgender Option: Erstellen Sie eine HTML-Anwendung, und fügen Sie ein Dropdown-Listenfeld hinzu, das bereits mit den Namen aller Dateiserver ausgefüllt ist. Zur Ausführung eines Skripts muss jetzt lediglich ein Servername aus der Liste ausgewählt werden. Sie müssen sich die Servernamen somit nicht mehr merken oder von Hand eingeben (Eingabefehler sind daher ausgeschlossen).

Anders ausgedrückt: Ein Dropdown-Listenfeld (wie das unten abgebildete Feld) bietet nicht nur einen schönen Anblick, sondern kann Ihnen auch viel Zeit und Frust ersparen.

Dn151208.A82DE11D59E8729E1207001B2B8AEE42(de-de,TechNet.10).png

Das klingt doch alles ziemlich überzeugend, oder? Natürlich haben wir eine Kleinigkeit ausgelassen: Wie kann ein Dropdown-Listenfeld eigentlich zu einer HTA hinzugefügt werden? Gedulden Sie sich noch etwas, Ihr Wissensdurst wird gleich gestillt. Sie werden nämlich feststellen, dass der Code zum Erstellen eines Dropdown-Listenfeldes (wie auch der Code für alle anderen Steuerelemente, die wir Ihnen in diesem Artikel vorstellen möchten) sich als relativ einfach und unkompliziert erweist:

<select size="1" name="OptionChooser" onChange="TestSub">
    <option value="1">Option 1</option>
    <option value="2">Option 2</option>
    <option value="3">Option 3</option>
</select>

Sie sehen also, es ist nicht allzu schwierig, oder? Dieser HTML-Standardcode beginnt, wie alle Dropdownlisten und Listenfelder, mit einem <select>-Tag. Wir müssen also lediglich ein <select>-Tag mit den folgenden Parametern eingeben:

  • size (Größe). Dies ist die Anzahl der Optionen, die jeweils gleichzeitig auf dem Bildschirm angezeigt werden sollen. Wenn Sie für diesen Parameter den Wert 1 festlegen, erhalten Sie eine Dropdownliste. Aber was geschieht, wenn wir die Größe auf einen anderen Wert als 1 setzen? Da wir Ihnen die Überraschung nicht verderben möchten, werden wir uns diese Antwort noch etwas aufheben, bis wir über Listenfelder sprechen. Vorläufig sollten Sie sich jedoch Folgendes merken: Wenn Sie eine Dropdownliste erstellen möchten, setzen Sie den Wert für die Größe (size) auf 1.

  • name. Dies ist der Name, der dem Steuerelement zugewiesen wird. Diese Name wird auch in unseren Skripts verwendet, um auf dieses Steuerelement zu verweisen. Beispielsweise verwenden wir zur Wiedergabe des Wertes unserer Dropdownliste (d. h. um zu bestimmen, welche Option ausgewählt wurde) folgende Codezeile:

    Msgbox OptionChooser.Value
    
  • onChange. Dies ist der Ereignishandler für das Steuerelement. Die Funktion dieses Parameters lässt sich relativ einfach erläutern: Immer, wenn sich der Wert dieses Steuerelements ändert (d. h. sobald jemand eine andere Option auswählt), führen Sie diese Unterroutine aus (in diesem Beispiel die Unterroutine "TestSub").

Es soll jedoch darauf hingewiesen werden, dass die Einbeziehung eines Ereignishandlers (onChange) als Teil des Steuerelements rein optional ist. Es ist nicht erforderlich, bei jedem Auswahlvorgang in der Dropdownliste ein Skript ausführen zu lassen. Als Alternative bietet sich an, den Benutzer nach einer Auswahl auf eine Schaltfläche klicken zu lassen, um ein Skript auszuführen. Es liegt an Ihnen, welche Vorgehensweise Sie wählen. Wir möchten jedoch darauf hinweisen, dass die derzeitige Konfiguration dieses Steuerelements noch etwas problematisch ist. Wir werden dieses Problem jedoch am Ende dieses Abschnitts noch ausführlicher erläutern und auch beheben.

Nach dem <select>-Tag werden noch drei weitere Codezeilen hinzugefügt. Zum Abschluss wird dann mit einem </select>-Tag angegeben, dass die Konfiguration des betreffenden Steuerelements abgeschlossen ist. Damit sind Sie fertig: ihr erstes Dropdown-Listenfeld.

Richtig, wir haben doch noch etwas vergessen: Was ist mit dem Code zwischen den Tags <select> und </select>?

<option value="1">Option 1</option>
<option value="2">Option 2</option>
<option value="3">Option 3</option>

Wie Sie wahrscheinlich bereits herausgefunden haben (der Tagname <option> ist eigentlich schon aussagekräftig genug), handelt es sich hierbei um die Listenoptionen, d. h. die Elemente, die beim Klicken auf die Dropdownliste angezeigt werden. Jedes Element in der Liste besteht aus den folgenden Komponenten:

  • Das <option>-Tag mit einem eindeutigen value-Parameter. Dieser Parameter kann einen beliebigen Wert annehmen, der jedoch eindeutig sein muss. Obwohl die Werte mit dem angezeigten Text genau übereinstimmen können, ist dies jedoch nicht unbedingt erforderlich. Im oben stehenden Beispiel hat die erste Option den Wert 1, der Anzeigetext lautet jedoch Option 1. Bei Verwendung einer Unterroutine zur Bestimmung der ausgewählten Option arbeitet man in der Regel mit dem Wert der Option.

  • Der Anzeigetext. Alle Informationen, die zwischen den Tags <option> und </option> stehen, werden genau in derselben Form in der Dropdownliste angezeigt. In unserem Beispiel erscheint die erste Option als Option 1 in der Dropdownliste. Aber wie müssen wir vorgehen, wenn diese Option in der Dropdownliste z. B. als Ping remote computer angezeigt werden soll? In diesem Fall wird die Option folgendermaßen konfiguriert:

    <option value="1">Ping remote computer</option>
    

    Beachten Sie, dass der Wert hierbei nicht geändert werden muss. Wie bereits erwähnt, können Sie beliebige Werte festlegen.

  • Das schließende </option>-Tag. Mit diesem Tag wird die Stelle gekennzeichnet, an der eine Option endet und die nächste beginnt.

Möglicherweise haben Sie bemerkt, dass wir den einzelnen Optionen keine eigenen Namen geben. Warum? Es ist schlicht und einfach nicht notwendig, einzelne Optionen zu benennen, denn bei Auswahl einer Option wird stets der Wert der ausgewählten Option an das <select>-Objekt übergeben. Somit können wir stets bestimmen, welche Option ausgewählt wurde, indem wir den Wert des <select>-Objekts untersuchen. (Dies nur, falls Sie sich bereits gefragt haben, warum Optionswerte eindeutig sein müssen.) Als Beispiel finden Sie nachstehend eine einfache kleine Unterroutine, die den Wert der ausgewählten Option zurückmeldet:

Sub TestSub
    Msgbox "You selected Option " & OptionChooser.Value & "."
End Sub

Alles klar? Es wird also lediglich der Wert der Dropdownliste (OptionChooser) gemeldet, der jedoch genau dem Wert der ausgewählten Option entspricht. (Beachten Sie, dass dieser Wert 1, 2 oder 3 sein kann, da wir den einzelnen Optionen diese Werte zugewiesen haben.)

Worin liegt also der Nachteil eines so konfigurierten Steuerelements?

Wir haben Ihnen eine vereinfachte Version der Dropdownliste vorgestellt, da wir Ihnen zeigen wollten, wie leicht sich HTML-Steuerelemente in einer HTA implementieren lassen. Folglich wollten wir auch den Code so kurz und übersichtlich wie möglich gestalten. Es besteht jedoch ein Problem im Zusammenhang mit dem Steuerelement und dem onChange-Ereignis. Wenn Sie die HTA laden, wird Option 1 automatisch ausgewählt. Das ist schon in Ordnung, aber angenommen, Sie möchten das Skript für Option 1 ausführen. Wie können Sie dies erreichen? Ob Sie es glauben oder nicht – das ist schwieriger, als Sie denken. Schließlich können Sie ja die Option nicht mehr auswählen, da sie bereits ausgewählt ist. Daher wird in diesem Zustand beim Klicken auf die Option das onChange-Ereignis auch nicht ausgelöst, denn es hat sich ja nichts verändert. In der Tat besteht in der aktuellen Konfiguration die einzige Möglichkeit zum Auswählen von Option 1 darin, zunächst eine andere Option, beispielsweise Option 2, auszuwählen (wobei das Skript für diese Option ausgeführt wird). Anschließend können Sie dann Option 1 auswählen.

Ziemlich umständlich.

Aber keine Sorge, dieses Problem lässt sich auf einfache Weise beheben. Wir müssen dazu lediglich eine leere Option an die erste Stelle setzen, wie zum Beispiel in folgendem Code:

<select size="1" name="OptionChooser" onChange="TestSub">
    <option value="0"></option>
    <option value="1">Option 1</option>
    <option value="2">Option 2</option>
    <option value="3">Option 3</option>
</select>

Wie Sie sehen, hat die erste Option – mit dem Wert 0 – keinen Anzeigetext und erscheint daher in der Dropdownliste als leere Option. Wir müssen dann noch unsere Unterroutine ändern, um sicherzustellen, dass das Skript nur dann ausgeführt wird, wenn der Wert der ausgewählten Option ungleich 0 ist. Mit anderen Worten, das Skript wird nicht ausgeführt, wenn Sie die leere Option auswählen:

Sub TestSub
    If OptionChooser.Value <> 0 Then
        Msgbox "You selected Option " & OptionChooser.Value & "."
    End If
End Sub

Alles verstanden? Falls nicht, werfen Sie einen Blick auf die vollständige HTA, dann sehen Sie genau, was wir meinen:

<html>
<head>
<title>HTA Test</title>
<HTA:APPLICATION 
     ID="objTest" 
     APPLICATIONNAME="HTA Test"
     SCROLL="no"
     SINGLEINSTANCE="yes"
>
</head>

<SCRIPT LANGUAGE="VBScript">

    Sub TestSub
        If OptionChooser.Value <> 0 Then
            Msgbox "You selected Option " & OptionChooser.Value & "."
        End If
    End Sub

</SCRIPT>

<body>

<select size="1" name="OptionChooser" onChange="TestSub">
    <option value="0"></option>
    <option value="1">Option 1</option>
    <option value="2">Option 2</option>
    <option value="3">Option 3</option>
</select>

</body>

Wenn Sie auf die Option 1, 2 oder 3 klicken, wird ein Meldungsfeld angezeigt, in dem die von Ihnen ausgewählte Option gemeldet wird. Wenn Sie jedoch auf die leere Option klicken, geschieht nichts. Problem gelöst.

Probieren Sie es selbst

Versuchen wir also anzuwenden, was Sie bisher gelernt haben. In unserer ersten praktischen Übung stellen wir Ihnen die Aufgabe, eine HTA zu entwickeln, die ein Dropdown-Listenfeld mit den folgenden Computernamen als Optionen enthält:

  • atl-dc-01
  • atl-dc-02
  • atl-dc-03

Bei Auswahl einer dieser Optionen soll durch eine Unterroutine der Name des jeweils ausgewählten Computers gemeldet werden. (Tipp: Dazu können Sie den Wert jeder Option so festlegen, dass dieser mit dem Anzeigetext identisch ist.) Falls Sie mit dieser Übung Schwierigkeiten haben, klicken Sie hier, um die Lösung anzuzeigen.

Hinweis


Einige von Ihnen werden sich wahrscheinlich fragen, ob man denn "schummeln" darf. Kann ich wirklich den Code aus dem Artikel kopieren, in meine Übung einfügen, einige kleinere Änderungen vornehmen und dann das Ganze als fertige Übungsaufgabe abgeben? Absolut – wir möchten Sie hierzu sogar ausdrücklich ermutigen. Schließlich möchten wir nur, dass Sie in der Lage sind, HTAs zu erstellen. Wenn Sie also der Meinung sind, dass "Schummeln" die einfachste/schnellste Methode ist, um eine HTA zu erstellen, dann schummeln Sie doch einfach.

Dn151208.590B5404BFEA7F06684DB47B00539355(de-de,TechNet.10).pngZum Seitenanfang

Hinzufügen eines Listenfeldes

Laut Definition kann in einem Dropdown-Listenfeld jeweils nur ein einziges Element angezeigt werden. Wenn Sie weitere Optionen anzeigen möchten, müssen Sie auf das Steuerelement klicken und eine Liste mit den anderen Optionen aufrufen. Dies ist normalerweise auch sinnvoll, nur kann es manchmal für die Arbeit auch einfacher bzw. effektiver sein, mehrere Optionen gleichzeitig anzuzeigen. Mit anderen Worten, in manchen Situationen wäre es günstiger, anstelle einer Dropdownliste ein Listenfeld zu verwenden:

Dn151208.F8E22B9C9B55B5535A096C63144FA3B3(de-de,TechNet.10).png

Warum auch nicht? Etwas Abwechslung kann sicher nicht schaden. Lassen Sie uns also darüber reden, wie wir ein Listenfeld zu einer HTA hinzufügen können.

Listenfelder bieten folgenden Vorteil: Wenn Sie damit vertraut sind, wie eine Dropdownliste erstellt und verwendet wird, wissen Sie zugleich auch, wie Sie ein Listenfeld erstellen und verwenden. Nachstehend finden Sie beispielsweise den Code zum Erstellen eines Listenfeldes (siehe oben) mit drei Optionen:

<select size="3" name="OptionChooser" onChange="TestSub">
    <option value="1">Option 1</option>
    <option value="2">Option 2</option>
    <option value="3">Option 3</option>
</select>

Was ist nun der Unterschied zwischen diesem Code und dem Code, mit dem die Dropdownliste erstellt wurde? Der einzige Unterschied besteht darin, dass wir für das Listenfeld den Wert des Parameters size (Größe) auf 3 festgelegt haben. Dies bedeutet, dass jeweils drei Optionen gleichzeitig auf dem Bildschirm angezeigt werden sollen. Wenn wir für diesen Parameter den Wert 12 festlegen, sind im Listenfeld 12 Optionen gleichzeitig sichtbar. Wenn wir hingegen für size wieder den Wert 1 eingeben, wird erneut eine Dropdownliste angezeigt. Im Grunde genommen also ganz einfach.

Übrigens muss die Größe des Listenfeldes nicht genau mit der Anzahl der verfügbaren Optionen übereinstimmen. Stellen Sie sich vor, es stehen 100 Optionen zur Verfügung, der Bildschirm bietet jedoch nur Platz für die gleichzeitige Anzeige von 10 Optionen. Kein Problem: Legen Sie für den size-Parameter den Wert 10 fest. Daraufhin wird automatisch eine Bildlaufleiste in das Listenfeld eingefügt, mit der Sie in der Liste einen Bildlauf nach oben und unten durchführen und so auf alle 100 Optionen zugreifen können. Probieren Sie es ruhig einmal aus, und lassen Sie sich das Ergebnis anzeigen

Probieren Sie es selbst

Dies ist im Grunde genommen die gleiche Übung wie im ersten Teil. Allerdings möchten wir diesmal, dass Sie anstelle einer Dropdownliste ein Listenfeld verwenden. Erstellen Sie eine HTML-Anwendung, die ein Listenfeld enthält (in dem drei Optionen gleichzeitig angezeigt werden), wobei die folgenden Computernamen als Optionen zu verwenden sind:

  • atl-dc-01
  • atl-dc-02
  • atl-dc-03
  • atl-dc-04
  • atl-dc-05
  • atl-dc-06

Bei Auswahl einer dieser Optionen sollte durch eine Unterroutine der Name des jeweils ausgewählten Computers gemeldet werden. Falls Sie bei dieser Übung Schwierigkeiten haben, klicken Sie hier, um die Lösung anzuzeigen. Um die Übung noch anspruchsvoller zu gestalten, können Sie den onChange-Ereignishandler entfernen und eine Schaltfläche hinzufügen, die den Namen des ausgewählten Computers zurückmeldet. Falls Sie mit dieser Aufgabe jetzt noch überfordert sind, muss Ihnen das keine Sorgen bereiten. Wir werden zu einem späteren Zeitpunkt den Code zum Hinzufügen einer Schaltfläche überprüfen.

Dn151208.note(de-de,TechNet.10).gifNützlicher Tipp:

Nachdem Sie das Listenfeld hinzugefügt haben, sollten Sie ein <BR>- oder <P>-Tag einfügen. Dadurch wird gewährleistet, dass die Steuerelemente nicht nebeneinander, d. h. horizontal auf dem Bildschirm angezeigt werden.

Dn151208.590B5404BFEA7F06684DB47B00539355(de-de,TechNet.10).pngZum Seitenanfang

Hinzufügen eines Mehrfachauswahl-Listenfeldes

Wir möchten Ihnen noch eine weitere Variante des Listenfeldes vorstellen. In HTML können Sie ein als Mehrfachauswahl-Listenfeld bezeichnetes Steuerelement erstellen. In einem Mehrfachauswahl-Listenfeld können Sie bei gedrückter STRG-Taste beliebig viele Optionen auswählen. Beispiel: Sie müssen gleichzeitig die Optionen 2, 4 und 5 auswählen? Dann legen Sie los, und führen Sie die Aufgabe aus:

Dn151208.F55733A5B19496E12FF7EE1261C3AA94(de-de,TechNet.10).png

Wir verstehen natürlich Ihre Bedenken: Ohne Zweifel erfordert die Erstellung eines Mehrfachauswahl-Listenfeldes viele komplexe, technische Fertigkeiten und Kenntnisse, über die nur ein "Scripting Guy" verfügen kann. Aber wie kompliziert ist das Erstellen eines Mehrfachauswahl-Listenfeldes eigentlich wirklich? So kompliziert:

<select size="3" name="MultiListbox" multiple>
    <option value="1">Option 1</option>
    <option value="2">Option 2</option>
    <option value="3">Option 3</option>
</select>

Nein, wir haben hier nicht aus Versehen den falschen Code eingefügt. Die Wahrheit ist, dass sich die Vorgehensweise zum Erstellen eines Mehrfachauswahl-Listenfeldes kaum von der zum Erstellen eines normalen Listenfeldes unterscheidet. Tatsächlich gibt es nur zwei Unterschiede:

  • Wir haben das Attribut multiple zum <select>-Tag hinzugefügt. Durch dieses Attribut wird das gute alte Listenfeld zu einem "coolen" Mehrfachauswahl-Listenfeld.
  • Wir haben außerdem das onChange-Ereignis aus dem <select>-Tag entfernt. Warum? Damit soll verhindert werden, dass bei jeder Änderung des Listenfeldes ein Skript ausgeführt wird. Anderenfalls würde das Skript sofort nach Auswahl der ersten Option ausgeführt werden, ohne dass wir noch die Möglichkeit hätten, weitere Optionen auszuwählen. Stattdessen soll der Benutzer die Gelegenheit erhalten, zunächst alle gewünschten Optionen auszuwählen, bevor er dann auf eine gesonderte Schaltfläche klickt, um das entsprechende Skript zu starten. Daher müssen wir den onChange-Ereignishandler entfernen und anschließend eine Schaltfläche hinzufügen, mit der die Unterroutine "TestSub" ausgeführt wird.

In der Tat besteht der einzige schwierige Teil beim Hinzufügen eines Mehrfachauswahl-Listenfeldes darin zu bestimmen, welche Optionen gegebenenfalls ausgewählt wurden. Sie können diesen Wert bei der Arbeit mit einem Mehrfachauswahl-Listenfeld nicht einfach wiedergeben, da der "Wert" nur ein Einzelelement darstellt und nutzlos ist, wenn mehrere Optionen mit mehreren Werten vorhanden sind. Daher müssen Sie alle Optionen durchlaufen und feststellen, für welche Optionen die Eigenschaft Selected gleich TRUE ist. Auf diese Weise können Sie ermitteln, welche Elemente ausgewählt bzw. nicht ausgewählt wurden.

Nein, das ist nicht zu schwierig für Sie. Sie benötigen hierzu lediglich einige wenige Codezeilen:

Sub TestSub
    For Each objItem in MultiListbox.Options
        If objItem.Selected Then
            strSelected = strSelected & objItem.Value & vbCrLf
        End If
    Next
    Msgbox "You selected the following items: " & vbCrLf & strSelected
End Sub

Alles klar? Wir müssen nur eine For Each-Schleife erstellen, die nacheinander alle Optionen (Elemente) im Listenfeld durchläuft. Die folgende Codezeile führt diesen Vorgang aus:

For Each objItem in MultiListbox.Options

Für jede einzelne Option (jedes Element) wird der Wert der Selected-Eigenschaft überprüft. Falls der Wert für Selected gleich TRUE ist, bedeutet dies, dass das Element ausgewählt wurde. Der Wert dieser betreffenden Option wird dann in einer Variable mit der Bezeichnung strSelected gespeichert. Wenn der aktuelle Wert der Selected-Eigenschaft jedoch FALSE ist, geschieht nichts. Die Überprüfung wird dann mit dem nächsten Element in der Auflistung fortgesetzt. Nachdem die gesamte Liste der Optionen durchlaufen wurde, wird eine Meldung über die ausgewählten Optionen wiedergegeben, wie im nachstehenden Beispiel aufgeführt:

Dn151208.11D1E284AF1F996D0295C1CD6A06EA09(de-de,TechNet.10).png

Das ist auch schon alles.

Nebenbei bemerkt: Falls Sie noch nicht herausgefunden haben, wie Sie eine Schaltfläche zu Ihrer HTML-Anwendung hinzufügen können, beachten Sie folgenden Hinweis:

<input id=runbutton  type="button" value="Run" name="run_button"  onClick="TestSub">

Probieren Sie es selbst

Analog zu den vorhergehenden beiden Übungen sollten Sie jetzt versuchen, eine HTA zu erstellen, in der ein Mehrfachauswahl-Listenfeld mit den folgenden Computernamen als Optionen enthalten ist:

  • atl-dc-01
  • atl-dc-02
  • atl-dc-03
  • atl-dc-04
  • atl-dc-05
  • alt-dc-06

Zusätzlich sollte die HTA über eine Schaltfläche verfügen, die nach einem Klicken eine Unterroutine aufruft, die alle ausgewählten Optionen meldet. (Beachten Sie, dass in einem Mehrfachauswahl-Listenfeld bei gedrückter STRG-Taste mehrere Optionen gleichzeitig ausgewählt werden können.) Falls Sie bei dieser Übung Schwierigkeiten haben, klicken Sie hier, um die Lösung anzuzeigen.

Dn151208.590B5404BFEA7F06684DB47B00539355(de-de,TechNet.10).pngZum Seitenanfang

Hinzufügen eines Kontrollkästchens

Stellen Sie sich eine HTA vor, in die verschiedene Skripts eingebettet sind, die Sie für einen Computer ausführen können, beispielsweise Skripts, die jeweils eine Hardware- und Softwarebestandsermittlung durchführen sowie ein weiteres Skript, das Leistungsstatistiken abruft. (Ja, genauso hat man sich in früheren Zeiten das Paradies vorgestellt.) Beim Laden dieser HTA möchten Sie natürlich auswählen, welche Skripts ausgeführt werden sollen. Vielleicht möchten Sie diesmal die beiden Bestandsermittlungsskripts, jedoch nicht das Skript für die Leistungsstatistik ausführen. Beim nächsten Start hingegen möchten Sie möglicherweise nur den Hardwarebestand feststellen und die Leistungsstatistik abrufen.

Mit anderen Worten, Sie benötigen umschaltbare Optionen, die unabhängig voneinander aktiviert und deaktiviert werden können (d. h. bei Auswahl des Hardwareskripts muss nicht automatisch auch das Softwareskript ausgeführt werden). Wenn Sie jetzt denken "Hm, klingt wie die perfekte Aufgabe für ein Kontrollkästchen", dann liegen Sie absolut richtig:

Dn151208.7A30AF775DA608D85D5E2112738EB1B8(de-de,TechNet.10).png

Ein Kontrollkästchen ist lediglich eine andere Variante des <input>-Steuerelements (dieses Steuerelement wurde im letzten Monat behandelt). Der Typ dieses Steuerelements lautet demnach auch checkbox:

<input type="checkbox" name="Checkbox1"> Checkbox 1

Im Grunde genommen müssen Sie lediglich ein <input>-Tag sowie die Typ- und Namensparameter hinzufügen. (Hinweis: Es ist kein schließendes Tag erforderlich, d. h. Sie müssen kein </input>-Tag eingeben.) Nachdem Sie das Tag eingefügt haben, müssen Sie nur noch die Bezeichnung eingeben, die neben dem Tag angezeigt wird. Im oben stehenden Beispiel haben wir dem Kontrollkästchen die Bezeichnung Checkbox 1 zugewiesen. (Ja, wir werden wirklich dafür bezahlt, uns solches Zeug auszudenken. Aber warum fragen Sie?) Für ein Kontrollkästchen mit der Bezeichnung Run disk cleanup script würden wir folgenden Code verwenden:

<input type="checkbox" name="Checkbox1"> Run disk cleanup script
Dn151208.note(de-de,TechNet.10).gifScripting Guys-Tipp:

Wie können Sie erreichen, dass ein Kontrollkästchen standardmäßig aktiviert ist? In diesem Fall müssen Sie lediglich den Wert des checked-Parameters auf TRUE festlegen:
<input type="checkbox" name="Checkbox1" value="Checkbox1" checked=True> Checkbox 1

Um festzustellen, ob ein Kontrollkästchen aktiviert ist, müssen wir uns lediglich den Wert der Checked-Eigenschaft anschauen. Lautet dieser Wert TRUE, ist das Kontrollkästchen aktiviert. FALSE bedeutet demnach, dass das Kontrollkästchen nicht aktiviert ist. Hier sehen Sie nun den Beispielcode, der uns diese Überprüfung abnimmt:

Sub TestSub
    If Checkbox1.Checked Then
        Msgbox "You checked the check box."
    Else
        Msgbox "You did not check the check box."
    End If
End Sub

Aber wie müssen wir vorgehen, wenn mehrere Kontrollkästchen in der HTA enthalten sind? In diesem Fall müssen Sie lediglich separate If Then-Blöcke erstellen, durch die die Checked-Eigenschaft für jedes einzelne Kontrollkästchen überprüft wird. Mit anderen Worten:

Sub TestSub
    If Checkbox1.Checked Then
        Msgbox "You checked check box 1."
    Else
        Msgbox "You did not check check box 1."
    End If
    If Checkbox2.Checked Then
        Msgbox "You checked check box 2."
    Else
        Msgbox "You did not check check box 2."
    End If
End Sub  

Beachten Sie, dass durch diese Unterroutine zwei Aufgaben ausgeführt werden: Zunächst wird der Wert der Checked-Eigenschaft für Checkbox1 überprüft, dann wird diese Überprüfung auch für Checkbox2 ausgeführt.

Probieren Sie es selbst

Erstellen Sie eine HTA, die zwei Kontrollkästchen enthält, denen die Bezeichnung atl-dc-01 und atl-dc-02 zugewiesen wird. Die HTA sollte ebenfalls eine Schaltfläche enthalten, mit der gemeldet werden kann, ob ein oder beide Kontrollkästchen aktiviert ist bzw. sind. Falls Sie bei dieser Übung Schwierigkeiten haben, klicken Sie hier, um die Lösung anzuzeigen.

Dn151208.590B5404BFEA7F06684DB47B00539355(de-de,TechNet.10).pngZum Seitenanfang

Hinzufügen von Optionsfeldern

Optionsfelder sind für Elemente bestimmt, die sich gegenseitig ausschließen: Sie können somit immer nur einen Vorgang ausführen, jedoch nicht mehrere gleichzeitig, d. h. es kann immer nur eine Option ausgewählt sein. Beispielsweise können Sie über eine Auswahloption festlegen, dass eine Datei gespeichert oder nicht gespeichert werden soll. Beide Optionen können jedoch nicht gleichzeitig gewählt werden, da sie sich gegenseitig ausschließen. (Klingt wie einer jener Tricks von Captain Kirk in einer alten Star Trek-Folge, um einen Computer in die Endlosschleife zu schicken und einmal mehr die nüchterne Rechnerlogik zu besiegen. Wir würden doch gern mal sehen, wie Captain Picard dies bewerkstelligen würde.)

Kurzum, Optionsfelder unterscheiden sich von Kontrollkästchen. Nehmen wir an, auf einem Bildschirm werden zehn Kontrollkästchen angezeigt. Sie könnten jetzt beliebig viele, z. B. zwei bzw. fünf oder sogar alle zehn Kontrollkästchen aktivieren. Mit Optionsfeldern (siehe unten) ergibt sich jedoch ein ganz anderes Bild: Sie können ein – und nur ein – Optionsfeld innerhalb einer Gruppe auswählen:

Dn151208.F0FED41212EB1A531483C6268EB9B016(de-de,TechNet.10).png

Ja, schwerlich das geeignete Steuerelement für die moderne ichbezogene Generation; heutzutage wollen wir schließlich immer alles gleichzeitig. Mit einem Optionsfeld bekommen Sie aber immer nur eine Auswahloption.

Es soll an dieser Stelle nicht verschwiegen werden, dass das Optionsfeld nicht unbedingt das "intuitivste" HTML-Steuerelement ist, das Sie in Ihrer Arbeit verwenden werden. Bisher hatten alle Steuerelemente, die wir erstellt haben, eindeutige Namen. Das ist auch sinnvoll; wie sonst könnten Sie die Steuerelemente voneinander unterscheiden? Bei Optionsfeldern ist die Sachlage jedoch vollkommen anders. Angenommen, wir möchten eine Gruppe mit drei Optionsfeldern erstellen, ähnlich der Gruppe, die Sie gerade gesehen haben. In diesem Fall müssen wir drei separate Optionsfelder mit identischen Namen erstellen.

Nein, im Ernst: Alle Optionsfelder in einer Gruppe müssen denselben Namen haben (obwohl sie natürlich unterschiedliche Werte besitzen sollten). Auf diese Weise erkennt das Skript, dass diese Steuerelemente zusammengehören. (Oder anders ausgedrückt, so erkennt das Skript, dass sich diese Steuerelemente gegenseitig ausschließen.) Falls dies für Sie noch nicht verständlich ist, sollten Sie die Flinte nicht ins Korn werfen: Wir werden Ihnen die Funktionsweise noch genau erläutern.

Hier sehen Sie nun den HTML-Code, durch den Optionsfelder mit den Bezeichnungen Option 1, Option 2 und Option 3 erstellt werden:

<input type="radio" name="RadioOption" value="1">Option 1<BR>
<input type="radio" name="RadioOption" value="2">Option 2<BR>
<input type="radio" name="RadioOption" value="3">Option 3<P>

Wie Sie sehen, haben alle drei Optionsfelder denselben Namen: RadioOption. Daraus ergibt sich zwangsläufig folgende Frage: Wenn alle Optionsfelder identische Namen haben, wie können Sie diese Steuerelemente auseinanderhalten? Wie können Sie feststellen, ob ein Benutzer Option 1 und nicht Option 2 oder Option 3 ausgewählt hat?

Gute Frage. Bei Optionsfeldern werden alle Steuerelemente mit identischen Namen in ein Array eingefügt, das den gleichen Namen wie das Steuerelement trägt (im vorhergehenden Beispiel ist das somit ein Array mit dem Namen RadioOption). Um festzustellen, welches Optionsfeld ausgewählt wurde, müssen wir lediglich eine For Each-Schleife erstellen, die dieses Array durchläuft und jedes Optionsfeld dahingehend überprüft, ob dessen Checked-Eigenschaft auf TRUE gesetzt ist. Falls Checked gleich TRUE ist, wurde das entsprechende Optionsfeld ausgewählt. Ihr Code zum Durchlaufen eines Arrays von Optionsfeldern könnte beispielsweise so aussehen:

Sub TestSub
    For Each objButton in RadioOption
        If objButton.Checked Then
            Msgbox "You selected Option " & objButton.Value & "."
        End If
    Next
End Sub

Wie Sie sehen, wird lediglich überprüft, ob die Checked-Eigenschaft auf TRUE gesetzt ist. Wenn dies der Fall ist, wird der Wert (Value) des Optionsfeldes wiedergegeben (aus diesem Grund müssen Werte von Optionsfeldern übrigens eindeutig sein). Falls Checked nicht TRUE ist, wird keine Aktion ausgeführt. Wie schon erwähnt, dies ist sicherlich nicht besonders intuitiv, aber es funktioniert.

Es ist übrigens möglich, auch mehrere Gruppen von Optionsfeldern in einer HTA zu erstellen. Hierzu müssen Sie nur sicherstellen, dass jeder Gruppe jeweils ein anderer Name zugewiesen wird. Falls Sie bereits eine Gruppe von Optionsfeldern eingerichtet haben, die alle den Namen RadioOption tragen, müssen Sie der nächsten Gruppe von Optionsfeldern einen anderen Namen zuweisen, z. B SecondRadioOption. Wie Sie wahrscheinlich schon erkannt haben, können Sie Steuerelementen stets beliebige Namen zuweisen. Sie können also für Ihre Steuerelemente beliebige Bezeichnungen verwenden. (Es muss dabei nur beachtet werden, dass der Name keine Leerzeichen enthalten darf.)

Probieren Sie es selbst

In dieser Übung soll eine HTA erstellt werden, die eine Gruppe von Optionsfeldern enthält, wobei die folgenden Computernamen den einzelnen Optionsfeldern als Bezeichnungen zugewiesen werden sollen:

  • atl-dc-01
  • atl-dc-02
  • atl-dc-03

Die HTA sollte ebenfalls über eine Schaltfläche verfügen, über die durch Klicken des Benutzers auf dieses Steuerelement der jeweilige Name des ausgewählten Computers gemeldet wird. Falls Sie bei dieser Übung Schwierigkeiten haben, klicken Sie hier, um die Lösung anzuzeigen.

Dn151208.590B5404BFEA7F06684DB47B00539355(de-de,TechNet.10).pngZum Seitenanfang

Hinzufügen eines Textfeldes

Dropdownlisten, Optionsfelder und andere nützliche Steuerelemente für Benutzeroberflächen können eine erhebliche Zeitersparnis für Ihre Benutzer bedeuten: Es ist viel schneller (und weniger fehleranfällig), wenn Benutzer einen Computer aus einer bereits festgelegten Gruppe von Computern auswählen und nicht den Namen des gewünschten Computers selbst eingeben müssen. Allerdings können Sie Ihren Benutzern nicht immer eine zuvor festgelegte Gruppe von Optionen anbieten. Nehmen wir z. B. an, Sie verfügen über eine HTA zum Erstellen von Benutzerkonten. Es gibt in diesem Fall keine Möglichkeit, Dropdownlisten bereits vorher mit allen möglichen Vornamen und Nachnamen für neue Benutzer auszufüllen, da dies einfach nicht praktikabel ist. Stattdessen müssen Sie einen Mechanismus angeben, der es Benutzern ermöglicht, beliebige Informationen einzugeben. Der beste Mechanismus hierfür ist das einfache, aber überaus nützliche Textfeld:

Dn151208.3101EBCC9517518AD1BAFB091AF2850D(de-de,TechNet.10).png

Einfach, nützlich und sehr leicht zu implementieren: Um ein Textfeld zu Ihrer HTA hinzuzufügen, müssen Sie lediglich ein <input>-Tag eingeben und dann den Typ (text), einen Namen sowie bei Bedarf die Größe (d. h. die Anzahl der Zeichen als Feldbreite) angeben:

<input type="text" name="BasicTextbox" size="30">

Falls Sie keine Größe festlegen, wird das Textfeld standardmäßig mit einer Breite von 20 Zeichen angezeigt.

Dn151208.note(de-de,TechNet.10).gifNützlicher Tipp:

Die Größe eines Textfeldes bestimmt lediglich die auf dem Bildschirm sichtbare Breites des Textfeldes, beschränkt jedoch in keiner Weise die Anzahl der Zeichen, die in ein Textfeld eingegeben werden können. Wenn Sie die Anzahl der Zeichen beschränken möchten, die ein Benutzer in ein Textfeld eingeben darf, müssen Sie den Parameter maxLength hinzufügen. Zum Beispiel wird durch den nachstehenden Code ein Textfeld mit einer Breite von 30 Zeichen angezeigt, in das jedoch nur maximal 25 Zeichen eingegeben werden können:
<input type="text" name="BasicTextbox" size="30" maxLength="25">

Wenig bekannte "historische Tatsache". Wir, die "Scripting Guys", haben einmal an einer nachträglichen Auswertung eines Projekts teilgenommen, dessen Fertigstellung mehrere Jahre dauerte und das während des gesamten Verlaufs mit Problemen übersät war. Wir durften dabei unsere Kommentare und Beanstandungen mithilfe eines Onlineformulars eingeben… eines Formulars, bei dem der mögliche Eingabetext im Feld Complaints auf maximal 255 Zeichen beschränkt wurde. Nur nebenbei bemerkt, allein diese Anmerkung besteht schon aus mehr als 400 Zeichen.

Wie können wir also die Informationen abrufen, die in ein Textfeld eingegeben wurden? Das ist relativ einfach: Wir müssen dazu lediglich die Value-Eigenschaft abrufen. Zum Beispiel wird durch die folgende einfache Unterroutine die Eingabe in einem Textfeld mit der Bezeichnung BasicTextbox wiedergegeben:

Sub TestSub
        Msgbox BasicTextbox.Value
End Sub

Es ist übrigens auch ziemlich einfach, Text programmgesteuert in ein Textfeld "einzugeben". Sie müssen hierzu lediglich den Wert (Value) des Textfeldes festlegen. Beispielsweise wird durch folgende Unterroutine die Zeichenfolge Fabrikam, Inc. in ein Textfeld mit der Bezeichnung BasicTextbox "eingegeben":

Sub TestSub
    BasicTextbox.Value = "Fabrikam, Inc."
End Sub

Wollten Sie nicht schon immer so etwas tun? Bestimmt. Nehmen wir an, Sie besitzen ein Tool zum Erstellen eines neuen Benutzerkontos. Die Person, die die Konten erstellt, wählt die betreffende Abteilung aus einer Dropdownliste aus. Wenn beispielsweise alle Mitarbeiter der Buchhaltungsabteilung im selben Gebäude und in derselben Stadt tätig sind, könnten Sie für diesen Fall eine Unterroutine erstellen, die das Gebäude und den Ort automatisch ausfüllt. Ein weiterer Grund dafür, warum HTAs so praktisch sind.

Probieren Sie es selbst

OK, diesmal eine leichte Aufgabe: Erstellen Sie eine HTA mit einem Textfeld und einer Schaltfläche. Wenn ein Benutzer auf die Schaltfläche klickt, soll der in das Textfeld eingegebene Text gemeldet werden. Falls Sie bei dieser Übung Schwierigkeiten haben, klicken Sie hier, um die Lösung anzuzeigen.

Dn151208.590B5404BFEA7F06684DB47B00539355(de-de,TechNet.10).pngZum Seitenanfang

Hinzufügen eines mehrzeiligen Textfeldes

Das standardmäßige Textfeld ist vollkommen ausreichend, wenn Sie wenig Text, z. B. nur einen Vor- oder Nachnamen, eingeben möchten. Da jedoch das normale Textfeld auf eine Zeile beschränkt ist, kommt es für die Eingabe einer größeren Textmenge nicht wirklich in Frage. Falls Sie mehr Platz für die Eingabe (oder Anzeige) von Text benötigen, können Sie das <textarea>-Steuerelement verwenden, das ungefähr folgendermaßen aussieht:

Dn151208.61E3D80FE84F5720CE060C43885F3F57(de-de,TechNet.10).png

Das sieht doch schon ganz gut aus. Und keine Sorge – ein mehrzeiliges Textfeld lässt sich sehr leicht konfigurieren:

<textarea name="ScriptArea" rows=5 cols=70></textarea>

Wie Sie sehen können, müssen wir lediglich ein <textarea>-Tag (und das zugehörige </textarea>-Tag) einfügen und die folgenden Parameter festlegen:

  • name. Der Name des Steuerelements.
  • rows. Die Anzahl der Zeilen, die auf dem Bildschirm angezeigt werden. Eine Bildlaufleiste wird automatisch zum Steuerelement hinzugefügt, so dass Sie gegebenenfalls weitere Zeilen eingeben können.
  • cols. Die Breite des Steuerelements in Zeichen. Wenn Sie für den Parameter cols den Wert 70 festlegen, können Sie in einer Zeile 70 Zeichen (Schriftart Courier, Schriftgrad 12) eingeben.

Der Wert eines mehrzeiligen Textfeldes wird auf dieselbe Weise abgerufen wie der Wert eines normalen Textfeldes:

Sub TestSub
    Msgbox ScriptArea.Value
End Sub

Stimmt wirklich, aber Sie müssen nicht gleich jedem weitererzählen, wie einfach das ist. Lassen Sie alle Welt ruhig glauben, Sie wären ein Programmiergenie!

Probieren Sie es selbst

Dies ist eine Abwandlung der vorhergehenden Übung. Anstatt eine HTA mit einem Textfeld und einer Schaltfläche zu erstellen, erstellen Sie eine HTA, die ein mehrzeiliges Textfeld und eine Schaltfläche enthält. Dieses mehrzeilige Textfeld (textarea) sollte eine Größe von 40 Spalten (cols) und 5 Zeilen (rows) haben. Beim Klicken auf die Schaltfläche soll der Eingabetext aus dem Textfeld angezeigt werden. Falls Sie bei dieser Übung Schwierigkeiten haben, klicken Sie hier, um die Lösung anzuzeigen.

Dn151208.590B5404BFEA7F06684DB47B00539355(de-de,TechNet.10).pngZum Seitenanfang

Hinzufügen eines Kennwortfeldes

Als letztes Steuerelement soll an dieser Stelle das Kennwortfeld vorgestellt werden. Das Kennwortfeld ähnelt dem Textfeld, jedoch mit einem wichtigen Unterschied: Alles, was Sie in ein Kennwortfeld eingeben, wird "maskiert", so dass die Zeichen auf dem Bildschirm nicht sichtbar sind. Mit anderen Worten:

Dn151208.2D2908391332A03EADE0E4E3F870FEE8(de-de,TechNet.10).png

Der Code zum Hinzufügen eines Kennwortfeldes ist nahezu identisch mit dem Code, mit dem ein Textfeld hinzugefügt wurde. Zum Hinzufügen eines Kennwortfeldes geben Sie das <input>-Tag ein und geben dann einen Namen und eine Größe an. Der einzige Unterschied zum Textfeld besteht darin, dass Sie den Typ "password" anstelle von "text" festlegen:

<input type="password" name="PasswordArea" size="30">

Ja, Sie haben vollkommen Recht: Das Abrufen der in ein Kennwortfeld eingegebenen Informationen ist genauso einfach wie das Abrufen des Wertes dieses Steuerelements:

Sub TestSub
    Msgbox PasswordArea.Value
End Sub

Ehrlich gesagt, sind wir große Fans einfacher und unkomplizierter Verfahren.

Probieren Sie es selbst

Als letzte Übung stellen wir Ihnen noch eine einfache Aufgabe: Erstellen Sie eine HTA mit einem Kennwortfeld und einer Schaltfläche. Wenn ein Benutzer auf die Schaltfläche klickt, soll der Eingabetext aus dem Kennwortfeld gemeldet werden. Falls Sie bei dieser Übung Schwierigkeiten haben, klicken Sie hier, um die Lösung anzuzeigen.

Dn151208.590B5404BFEA7F06684DB47B00539355(de-de,TechNet.10).pngZum Seitenanfang

Ausblick auf unsere nächste spannende Folge….

In diesem Artikel wurden viele Themen behandelt. Sicher fragen Sie sich jetzt: "Wie um alles in der Welt kann ich all dies behalten?" Dazu ein Tipp: Versuchen Sie nicht einmal, alles zu behalten, was in diesem Artikel behandelt wurde. Stattdessen sollten Sie den Artikel dieses Monats zum Nachschlagen aufbewahren. Wenn Sie dann in Ihrer nächsten HTML-Anwendung ein oder zwei Kontrollkästchen einfügen möchten, lesen Sie einfach im Abschnitt zu den Kontrollkästchen nach. Wenn Sie hingegen in Ihrer nächsten HTML-Anwendung keine Kontrollkästchen benötigen, ist es doch eigentlich egal, ob Sie die hohe Kunst des Implementierens von Kontrollkästchen beherrschen, oder?

Im besten Fall sind Sie jetzt damit vertraut (oder können dies jederzeit nachschlagen), wie die gebräuchlichsten HTML-Steuerelemente implementiert werden. Mit diesem Wissen ausgestattet, werden wir im nächsten Monat beginnen, mithilfe dieser Steuerelemente HTAs zu erstellen, die von größerem praktischen Nutzen (und deutlich wertvoller) sind.

Bei Fragen oder Anmerkungen zu diesem Artikel können Sie uns jederzeit unter scripter@microsoft.com schreiben.

Dn151208.590B5404BFEA7F06684DB47B00539355(de-de,TechNet.10).pngZum Seitenanfang

| Home | Technische Artikel | Community