VB教程 > 第七課使用條件語句
控制程序執(zhí)行
使用條件語句和循環(huán)語句可以控制 Script 的流程。使用條件語句可以編寫進(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 時(shí)運(yùn)行語句
要在條件為 True 時(shí)運(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 時(shí)分別運(yùn)行某些語句
可以使用 If...Then...Else 語句定義兩個(gè)可執(zhí)行語句塊:條件為 True 時(shí)運(yùn)行某一語句塊,條件為 False 時(shí)運(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
對多個(gè)條件進(jìn)行判斷
If...Then...Else 語句的一種變形允許您從多個(gè)條件中選擇,即添加 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
可以添加任意多個(gè) ElseIf 子句以提供多種選擇。使用多個(gè) ElseIf 子句經(jīng)常會變得很累贅。在多個(gè)條件中進(jìn)行選擇的更好方法是使用 select Case 語句。
使用 select Case 進(jìn)行判斷
select Case 結(jié)構(gòu)提供了 If...Then...ElseIf 結(jié)構(gòu)的一個(gè)變通形式,可以從多個(gè)語句塊中選擇執(zhí)行其中的一個(gè)。select Case 語句提供的功能與 If...Then...Else 語句類似,但是可以使代碼更加簡練易讀。
select Case 結(jié)構(gòu)在其開始處使用一個(gè)只計(jì)算一次的簡單測試表達(dá)式。表達(dá)式的結(jié)果將與結(jié)構(gòu)中每個(gè) Case 的值比較。如果匹配,則執(zhí)行與該 Case 關(guān)聯(lián)的語句塊:
select Case Document.Form1.CardType.Options(selectedIndex).Text
Case "MasterCard"
DisplayMCLogo
新聞熱點(diǎn)
疑難解答
圖片精選