Microsoft® Visual Basic® Scripting Edition
If...Then...Else-Anweisung
Sprachreferenz


Beschreibung
Wertet einen Ausdruck aus und führt in Abhängigkeit vom Ergebnis eine Reihe von Anweisungen aus.

Syntax
If Bedingung Then Anweisungen [Else SonstAnw ]
Sie können auch die folgende flexiblere Syntax verwenden:
If Bedingung Then
    [Anweisungen]
[ElseIf condition-n Then
    [SonstWennAnw]] . . .
[Else
    [SonstAnw]]
End If
Die Syntax der If...Then...Else-Anweisung besteht aus folgenden Teilen:

Teil Beschreibung
Bedingung Ein oder mehrere Ausdrücke der beiden folgenden Arten:

Numerischer Ausdruck oder Zeichenfolgenausdruck, der als Ergebnis True oder False liefert. Hat Bedingung den Wert Null, so wird Bedingung als False interpretiert.

Ein Ausdruck der Form TypeOf Objektname Is Objekttyp. Objektname ist eine Objektreferenz, und Objekttyp ist ein beliebiger gültiger Objekttyp. Der Ausdruck ergibt True, wenn Objektname den Objekttyp hat, der durch Objekttyp angegeben ist. Andernfalls ist das Ergebnis False.

Anweisungen Eine Anweisung oder mehrere durch Doppelpunkte voneinander getrennte Anweisungen, die ausgeführt werden, wenn Bedingung den Wert True hat.
Bedingung-n Dieselbe Bedeutung wie Bedingung.
SonstWennAnw Eine oder mehrere Anweisungen, die ausgeführt werden, wenn die zugehörige Bedingung (Bedingung-n) True ergibt.
SonstAnw Eine oder mehrere Anweisungen, die ausgeführt werden, wenn keine der Bedingungen ( Bedingung oder Bedingung-n) den Wert True ergibt.

Anmerkungen
Die einzeilige Variante (erste Syntax) bietet sich bei einfachen Tests an. Die Blockvariante (zweite Syntax) ist dagegen strukturierter und flexibler als die einzeilige Variante und kann in der Regel leichter verstanden, gepflegt und getestet werden.


Hinweis    Die einzeilige Syntax erlaubt die Ausführung mehrerer Anweisungen als Ergebnis einer If...Then-Entscheidung. Dazu müssen sich aber alle Anweisungen in einer Zeile befinden und durch Doppelpunkte voneinander getrennt sein, wie in der folgenden Zeile:


If A > 10 Then A = A + 1 : B = B + A : C = C + B

Bei der Ausführung eines If-Blocks (zweite Syntax) wird zunächst Bedingung überprüft. Ergibt Bedingung den Wert True, so werden die Anweisungen im Anschluß an Then ausgeführt. Ergibt Bedingung den Wert False, so werden der Reihe nach die ElseIf-Bedingungen (sofern vorhanden) ausgewertet. Sobald eine dieser Bedingungen den Wert True ergibt, werden die Anweisungen im Anschluß an das zugehörige Then ausgeführt. Ergibt keine der ElseIf-Bedingungen den Wert True (oder sind überhaupt keine ElseIf -Abschnitte vorhanden), so werden die Anweisungen im Anschluß an Else ausgeführt. Nachdem die Anweisungen nach einem Then- oder Else-Abschnitt ausgeführt wurden, setzt das Programm die Ausführung mit der Anweisung im Anschluß an End If fort.

Die Abschnitte Else und ElseIf sind optional. In einem If-Block können Sie beliebig viele ElseIf -Abschnitte verwenden, nach einem Else-Abschnitt sind keine ElseIf-Abschnitte zulässig. If-Blöcke können verschachtelt sein (also selbst wieder If-Blöcke enthalten).

Der Code im Anschluß an das Schlüsselwort Then entscheidet darüber, ob es sich bei der Anweisung um einen If-Block handelt oder nicht. Befindet sich hinter dem Then in derselben Zeile weiterer Code (außer einem Kommentar), so handelt es sich um eine einzeilige If-Anweisung.

Eine Anweisung für einen If-Block muß die erste Anweisung in einer Zeile sein. Der If-Block muß mit einer End If-Anweisung beendet werden.


© 1997 Microsoft GmbH. Alle Rechte vorbehalten. Rechtliche Hinweise