Microsoft® Visual Basic® Scripting Edition 使用条件语句 | VBScript 教程 上一页 | 下一页

##### 控制程序执行

> 使用条件语句和循环语句可以控制 Script 的流程。使用条件语句可以编写进行判断和重复操作的 VBScript 代码。在 VBScript 中可使用以下条件语句：
> - If...Then...Else 语句
> - Select Case 语句

##### 使用 If...Then...Else 进行判断

> If...Then...Else 语句用于计算条件是否为 True 或 False，并且根据计算结果指定要运行的语句。通常，条件是使用比较运算符对值或变量进行比较的表达式。有关比较运算符的详细信息，请参阅比较运算符。If...Then...Else 语句可以按照需要进行嵌套。

> ##### 条件为 True 时运行语句

> 要在条件为 True 时运行单行语句，可使用 If...Then...Else 语句的单行语法。下例示范了单行语法。请注意此例省略了关键字 Else。

> >      Sub FixDate()
> >          Dim myDate
> >          myDate = #2/13/95#
> >          If myDate < Now Then myDate = Now
> >      End Sub

> 要运行多行代码，必须使用多行（或块）语法。多行（或块）语法包含 End If 语句，如下所示：

> >      Sub AlertUser(value)
> >          If value = 0 Then
> >              AlertLabel.ForeColor = vbRed
> >              AlertLabel.Font.Bold = True
> >              AlertLabel.Font.Italic = True
> >          End If
> >      End Sub

> ##### 条件为 True 和 False 时分别运行某些语句

> 可以使用 If...Then...Else 语句定义两个可执行语句块：条件为 True 时运行某一语句块，条件为 False 时运行另一语句块。

> >      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

> ##### 对多个条件进行判断

> If...Then...Else 语句的一种变形允许您从多个条件中选择，即添加 ElseIf 子句以扩充 If...Then...Else 语句的功能，使您可以控制基于多种可能的程序流程。例如：

> >      Sub ReportValue(value)
> >          If value = 0 Then
> >              MsgBox value
> >          ElseIf value = 1 Then
> >              MsgBox value
> >          ElseIf value = 2 then
> >              Msgbox value
> >          Else
> >              Msgbox "数值超出范围！"
> >          End If

> 可以添加任意多个 ElseIf 子句以提供多种选择。使用多个 ElseIf 子句经常会变得很累赘。在多个条件中进行选择的更好方法是使用 Select Case 语句。

##### 使用 Select Case 进行判断

> Select Case 结构提供了 If...Then...ElseIf 结构的一个变通形式，可以从多个语句块中选择执行其中的一个。Select Case 语句提供的功能与 If...Then...Else 语句类似，但是可以使代码更加简练易读。

> Select Case 结构在其开始处使用一个只计算一次的简单测试表达式。表达式的结果将与结构中每个 Case 的值比较。如果匹配，则执行与该 Case 关联的语句块：

> >      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

> 请注意 Select Case 结构只计算开始处的一个表达式（只计算一次），而 If...Then...ElseIf 结构计算每个 ElseIf 语句的表达式，这些表达式可以各不相同。仅当每个 ElseIf 语句计算的表达式都相同时，才可以使用 Select Case 结构代替 If...Then...ElseIf 结构。

© 1997 Microsoft Corporation. All rights reserved. Terms of Use.