VBScript教程 第七課使用條件語(yǔ)句
VB教程 > 第七課使用條件語(yǔ)句
控制程序執(zhí)行
使用條件語(yǔ)句和循環(huán)語(yǔ)句可以控制 Script 的流程。使用條件語(yǔ)句可以編寫進(jìn)行判斷和重復(fù)操作的 VBScript 代碼。在 VBScript 中可使用以下條件語(yǔ)句:
· If...Then...Else 語(yǔ)句
· select Case 語(yǔ)句
使用 If...Then...Else 進(jìn)行判斷
If...Then...Else 語(yǔ)句用于計(jì)算條件是否為 True 或 False,并且根據(jù)計(jì)算結(jié)果指定要運(yùn)行的語(yǔ)句。通常,條件是使用比較運(yùn)算符對(duì)值或變量進(jìn)行比較的表達(dá)式。有關(guān)比較運(yùn)算符的詳細(xì)信息,請(qǐng)參閱比較運(yùn)算符。If...Then...Else 語(yǔ)句可以按照需要進(jìn)行嵌套。
條件為 True 時(shí)運(yùn)行語(yǔ)句
要在條件為 True 時(shí)運(yùn)行單行語(yǔ)句,可使用 If...Then...Else 語(yǔ)句的單行語(yǔ)法。下例示范了單行語(yǔ)法。請(qǐng)注意此例省略了關(guān)鍵字 Else。
Sub FixDate()
Dim myDate
myDate = #2/13/95#
If myDate < Now Then myDate = Now
End Sub
要運(yùn)行多行代碼,必須使用多行(或塊)語(yǔ)法。多行(或塊)語(yǔ)法包含 End If 語(yǔ)句,如下所示:
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)行某些語(yǔ)句
可以使用 If...Then...Else 語(yǔ)句定義兩個(gè)可執(zhí)行語(yǔ)句塊:條件為 True 時(shí)運(yùn)行某一語(yǔ)句塊,條件為 False 時(shí)運(yùn)行另一語(yǔ)句塊。
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
對(duì)多個(gè)條件進(jìn)行判斷
If...Then...Else 語(yǔ)句的一種變形允許您從多個(gè)條件中選擇,即添加 ElseIf 子句以擴(kuò)充 If...Then...Else 語(yǔ)句的功能,使您可以控制基于多種可能的程序流程。例如:
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)常會(huì)變得很累贅。在多個(gè)條件中進(jìn)行選擇的更好方法是使用 select Case 語(yǔ)句。
使用 select Case 進(jìn)行判斷
select Case 結(jié)構(gòu)提供了 If...Then...ElseIf 結(jié)構(gòu)的一個(gè)變通形式,可以從多個(gè)語(yǔ)句塊中選擇執(zhí)行其中的一個(gè)。select Case 語(yǔ)句提供的功能與 If...Then...Else 語(yǔ)句類似,但是可以使代碼更加簡(jiǎn)練易讀。
select Case 結(jié)構(gòu)在其開(kāi)始處使用一個(gè)只計(jì)算一次的簡(jiǎn)單測(cè)試表達(dá)式。表達(dá)式的結(jié)果將與結(jié)構(gòu)中每個(gè) Case 的值比較。如果匹配,則執(zhí)行與該 Case 關(guān)聯(lián)的語(yǔ)句塊:
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
請(qǐng)注意 select Case 結(jié)構(gòu)只計(jì)算開(kāi)始處的一個(gè)表達(dá)式(只計(jì)算一次),而 If...Then...ElseIf 結(jié)構(gòu)計(jì)算每個(gè) ElseIf 語(yǔ)句的表達(dá)式,這些表達(dá)式可以各不相同。僅當(dāng)每個(gè) ElseIf 語(yǔ)句計(jì)算的表達(dá)式都相同時(shí),才可以使用 select Case 結(jié)構(gòu)代替 If...Then...ElseIf 結(jié)構(gòu)。
相關(guān)文章
VBS教程:函數(shù)-數(shù)學(xué)函數(shù)
VBS教程:函數(shù)-數(shù)學(xué)函數(shù)...2006-11-11VBS 自動(dòng)登錄論壇的實(shí)現(xiàn)代碼
這篇文章主要介紹了如果通過(guò)vbs實(shí)現(xiàn)論壇自動(dòng)登錄的實(shí)現(xiàn)方法,其實(shí)主要利用了vbs操作網(wǎng)頁(yè)表單的自動(dòng)填寫實(shí)現(xiàn),喜歡的朋友可以試試2013-07-07VBS 硬盤讀寫統(tǒng)計(jì)(分區(qū)讀寫統(tǒng)計(jì))
用vbs實(shí)現(xiàn)的硬盤讀寫統(tǒng)計(jì)(分區(qū)讀寫統(tǒng)計(jì))的實(shí)現(xiàn)代碼,想學(xué)習(xí)vbs的朋友可以參考下2013-01-01vbs 獲取當(dāng)前目錄文件數(shù)量的代碼(不包括子文件夾中的)
有時(shí)候我們需要獲取當(dāng)前目錄下有多少個(gè)文件,那么就可以參考下面的代碼2013-09-09抖音vbs表白代碼大全 抖音vbscript表白代碼使用方法
抖音vbs表白代碼大全分享,最近很多小伙伴都在抖音上看到了一個(gè)vbs表白代碼這個(gè)玩法,感覺(jué)非常的有趣。不過(guò)不少玩家還不知道怎么弄的,下面就來(lái)一起看下制作方法吧2018-07-07VBS教程:VBscript屬性-IgnoreCase 屬性
VBS教程:VBscript屬性-IgnoreCase 屬性...2006-11-11