Microsoft® Visual Basic® Scripting Edition
Verwenden von Bedingungsanweisungen
 VBScript-Tutorium 
 Zurück | Weiter 


Steuern der Programmausführung
Sie können den Ablauf eines Skripts mit Bedingungs- und Schleifenanweisungen steuern. Mit Hilfe von Bedingungsanweisungen können Sie VBScript-Code schreiben, mit dem Entscheidungen getroffen und Aktionen wiederholt werden können. Die folgenden Bedingungsanweisungen sind in VBScript verfügbar:
Treffen von Entscheidungen mit Hilfe von If...Then...Else
Die Anweisung If...Then...Else wird verwendet, um zu bestimmen, ob eine Bedingung True oder False ist, und um anzugeben, ob je nach Ergebnis eine oder weitere Anweisungen ausgeführt werden. Im allgemeinen ist die Bedingung ein Ausdruck, der einen Vergleichsoperator zum Vergleichen eines Wertes oder einer Variablen mit einem/r anderen verwendet. Informationen zu Vergleichsoperatoren finden Sie unter Vergleichsoperatoren. If...Then...Else-Anweisungen können nach Bedarf auf beliebig vielen Ebenen verschachtelt werden.

Ausführen von Anweisungen, wenn eine Bedingung "True" ist
Um nur eine Anweisung auszuführen, wenn eine Bedingung True ist, verwenden Sie die einzeilige Syntax für die If...Then...Else-Anweisung. Das folgende Beispiel zeigt die einzeilige Syntax. Beachten Sie, daß in diesem Beispiel das Schlüsselwort Else weggelassen wird.
 Sub FixDate()
     Dim myDate
     myDate = #2/13/95#
     If myDate < Now Then myDate = Now
 End Sub
Zum Ausführen von mehr als einer Codezeile müssen Sie die mehrzeilige oder Blocksyntax verwenden. Diese Syntax enthält die Anweisung End If, wie im folgenden Beispiel gezeigt:
 Sub AlertUser(value)
     If value = 0 Then
         AlertLabel.ForeColor = vbRed
         AlertLabel.Font.Bold = True
         AlertLabel.Font.Italic = True
     End If
 End Sub
Ausführen bestimmter Anweisungen, wenn eine Bedingung "True" ist, und Ausführen anderer Anweisungen, wenn eine Bedingung "False" ist
Mit der Anweisung If...Then...Else können Sie zwei Blöcke mit ausführbaren Anweisungen definieren: ein Block wird ausgeführt, wenn die Bedingung True ist, der andere wird ausgeführt, wenn die Bedingung False ist.
 Sub AlertUser(value)
     If value = 0 Then
         AlertLabel.ForeColor = vbRed
         AlertLabel.Font.Bold = True
         AlertLabel.Font.Italic = True
     Else
         AlertLabel.Forecolor = vbBlack
         AlertLabel.Font.Bold = False
         AlertLabel.Font.Italic = False
     End If
 End Sub
Entscheiden zwischen mehreren Alternativen
Mit Hilfe einer Variation der If...Then...Else-Anweisung können Sie aus mehreren Alternativen auswählen. Durch das Hinzufügen der Klausel ElseIf können Sie die Funktionalität der If...Then...Else-Anweisung erweitern, so daß der Programmablauf auf mehreren Möglichkeiten basiert. Beispiel:
 Sub ReportValue(value)
     If value = 0 Then
         MsgBox value
     ElseIf value = 1 Then
         MsgBox value
     ElseIf value = 2 then
         Msgbox value
     Else
         Msgbox "Wert ausserhalb des Bereichs!"
     End If
Sie können nach Bedarf beliebig viele ElseIf-Klauseln hinzufügen, um alternative Möglichkeiten bereitzustellen. Durch eine zu häufige Verwendung der ElseIf-Klausel wird der Code allerdings umständlich. Eine bessere Möglichkeit zum Auswählen aus mehreren Alternativen bietet die Anweisung Select Case.
Treffen von Entscheidungen mit "Select Case"
Die Select Case-Struktur bietet eine Alternative zu If...Then...ElseIf, um gezielt einen Anweisungsblock aus mehreren Anweisungsblöcken auszuführen. Eine Select Case-Anweisung bietet dieselbe Funktionalität wie die If...Then...Else-Anweisung, macht den Code jedoch effizienter und leichter lesbar.

Eine Select Case-Struktur arbeitet mit einem einzelnen Testausdruck, der einmalig auf der obersten Ebene der Struktur ausgewertet wird. Das Ergebnis der Struktur wird dann mit den Werten für jeden Case in der Struktur verglichen. Gibt es eine Übereinstimmung, wird der mit diesem Case verknüpfte Anweisungsblock ausgeführt:

 Select Case Document.Form1.CardType.Options(SelectedIndex).Text
    Case "MasterCard"
        DisplayMCLogo
        ValidateMCAccount
    Case "Visa"
        DisplayVisaLogo
        ValidateVisaAccount
    Case "American Express"
        DisplayAMEXCOLogo
        ValidateAMEXCOAccount
    Case Else
        DisplayUnknownImage
        PromptAgain
End Select
Beachten Sie, daß die Select Case-Struktur einen Ausdruck einmalig auf der obersten Ebene der Struktur auswertet. Im Gegensatz dazu kann die If...Then...ElseIf-Struktur einen anderen Ausdruck für jede ElseIf-Anweisung auswerten. Sie können eine If...Then...ElseIf -Struktur nur dann durch eine Select Case-Struktur ersetzen, wenn jede ElseIf-Anweisung denselben Ausdruck auswertet.

© 1997 Microsoft Corporation. All Rechte vorbehalten. Bestimmungen zur Verwendung