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)在其開始處使用一個(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ì)算開始處的一個(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)代碼
這篇文章主要介紹了如果通過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è)玩法,感覺非常的有趣。不過不少玩家還不知道怎么弄的,下面就來一起看下制作方法吧2018-07-07VBS教程:VBscript屬性-IgnoreCase 屬性
VBS教程:VBscript屬性-IgnoreCase 屬性...2006-11-11