控制程序执行 使用条件语句和循环语句可以控制 Script 的流程使用条件语句可以编写进行判断和重复操作的 VBScript 代码在 VBScript 中可使用以下条件语句 · IfThenElse 语句 · Select Case 语句 使用 IfThenElse 进行判断 IfThenElse 语句用于计算条件是否为 True 或 False并且根据计算结果指定要运行的语句通常条件是使用比较运算符对值或变量进行比较的表达式有关比较运算符的详细信息请参阅比较运算符IfThenElse 语句可以按照需要进行嵌套 条件为 True 时运行语句 要在条件为 True 时运行单行语句可使用 IfThenElse 语句的单行语法下例示范了单行语法请注意此例省略了关键字 Else Sub FixDate() Dim myDate myDate = #//# If myDate < Now Then myDate = Now End Sub 要运行多行代码必须使用多行(或块)语法多行(或块)语法包含 End If 语句如下所示 Sub AlertUser(value) If value = Then AlertLabelForeColor = vbRed AlertLabelFontBold = True AlertLabelFontItalic = True End If End Sub 条件为 True 和 False 时分别运行某些语句 可以使用 IfThenElse 语句定义两个可执行语句块条件为 True 时运行某一语句块条件为 False 时运行另一语句块 Sub AlertUser(value) If value = Then AlertLabelForeColor = vbRed AlertLabelFontBold = True AlertLabelFontItalic = True Else AlertLabelForecolor = vbBlack AlertLabelFontBold = False AlertLabelFontItalic = False End If End Sub 对多个条件进行判断 IfThenElse 语句的一种变形允许您从多个条件中选择即添加 ElseIf 子句以扩充 IfThenElse 语句的功能使您可以控制基于多种可能的程序流程例如 Sub ReportValue(value) If value = Then MsgBox value ElseIf value = Then MsgBox value ElseIf value = then Msgbox value Else Msgbox 数值超出范围! End If 可以添加任意多个 ElseIf 子句以提供多种选择使用多个 ElseIf 子句经常会变得很累赘在多个条件中进行选择的更好方法是使用 Select Case 语句 使用 Select Case 进行判断 Select Case 结构提供了 IfThenElseIf 结构的一个变通形式可以从多个语句块中选择执行其中的一个Select Case 语句提供的功能与 IfThenElse 语句类似但是可以使代码更加简练易读 Select Case 结构在其开始处使用一个只计算一次的简单测试表达式表达式的结果将与结构中每个 Case 的值比较如果匹配则执行与该 Case 关联的语句块 Select Case DocumentFormCardTypeOptions(SelectedIndex)Text Case MasterCard DisplayMCLogo ValidateMCAccount Case Visa DisplayVisaLogo ValidateVisaAccount Case American Express DisplayAMEXCOLogo ValidateAMEXCOAccount Case Else DisplayUnknownImage PromptAgain End Select 请注意 Select Case 结构只计算开始处的一个表达式(只计算一次)而 IfThenElseIf 结构计算每个 ElseIf 语句的表达式这些表达式可以各不相同仅当每个 ElseIf 语句计算的表达式都相同时才可以使用 Select Case 结构代替 IfThenElseIf 结构 |