使用條件語句
控制程序執(zhí)行
使用條件語句和循環(huán)語句可以控制腳本的流程。使用條件語句可以編寫進(jìn)行判斷和重復(fù)操作的 VBScript 代碼。在 VBScript 中可使用以下條件語句:
- If...Then...Else 語句
- Select Case 語句
使用 If...Then...Else 進(jìn)行判斷
If...Then...Else 語句用于計(jì)算條件是否為 True 或 False,并且根據(jù)計(jì)算結(jié)果指定要運(yùn)行的語句。通常,條件是使用比較運(yùn)算符對值或變量進(jìn)行比較的表達(dá)式。有關(guān)比較運(yùn)算符的詳細(xì)信息,請參閱比較運(yùn)算符。If...Then...Else 語句可以按照需要進(jìn)行嵌套。
條件為 True 時運(yùn)行語句
要在條件為 True 時運(yùn)行單行語句,可使用 If...Then...Else 語句的單行語法。下例示范了單行語法。請注意此例省略了關(guān)鍵字 Else。
Sub FixDate() Dim myDate myDate = #2/13/95# If myDate Now Then myDate = Now End Sub
要運(yùn)行多行代碼,必須使用多行(或塊)語法。多行(或塊)語法包含 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 時分別運(yùn)行某些語句
可以使用 If...Then...Else 語句定義兩個可執(zhí)行語句塊:條件為 True 時運(yùn)行某一語句塊,條件為 False 時運(yùn)行另一語句塊。
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
對多個條件進(jìn)行判斷
If...Then...Else 語句的一種變形允許您從多個條件中選擇,即添加 ElseIf 子句以擴(kuò)充 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 "
數(shù)值超出范圍!"
End If
可以添加任意多個 ElseIf 子句以提供多種選擇。使用多個 ElseIf 子句經(jīng)常會變得很累贅。在多個條件中進(jìn)行選擇的更好方法是使用 Select Case 語句。
使用 Select Case 進(jìn)行判斷
Select Case 結(jié)構(gòu)提供了 If...Then...ElseIf 結(jié)構(gòu)的一個變通形式,可以從多個語句塊中選擇執(zhí)行其中的一個。Select Case 語句提供的功能與 If...Then...Else 語句類似,但是可以使代碼更加簡練易讀。
Select Case 結(jié)構(gòu)在其開始處使用一個只計(jì)算一次的簡單測試表達(dá)式。表達(dá)式的結(jié)果將與結(jié)構(gòu)中每個 Case 的值比較。如果匹配,則執(zhí)行與該 Case 關(guān)聯(lián)的語句塊,示例代碼如下:
Select Case Document.Form1.CardType.Options(SelectedIndex).Text Case "MasterCard" DisplayMCLogo ValidateMCAccount Case "Visa" DisplayVisaLogo ValidateVisaAccount Case "American Express" DisplayAMEXCOLogo ValidateAMEXCOAccount Case Else DisplayUnknownImage PromptAgainEnd Select
請注意 Select Case 結(jié)構(gòu)只計(jì)算開始處的一個表達(dá)式(只計(jì)算一次),而 If...Then...ElseIf 結(jié)構(gòu)計(jì)算每個 ElseIf 語句的表達(dá)式,這些表達(dá)式可以各不相同。僅當(dāng)每個 ElseIf 語句計(jì)算的表達(dá)式都相同時,才可以使用 Select Case 結(jié)構(gòu)代替 If...Then...ElseIf 結(jié)構(gòu)。
您可能感興趣的文章:- VBScript教程 第七課使用條件語句
- VBS基礎(chǔ)篇 - 條件語句(if與Select Case)