VBScript基礎教程之七使用條件陳述式

來源:互聯網
上載者:User
vbscript|基礎教程|條件|語句 控製程序執行

使用條件陳述式和迴圈語句可以控制 Script 的流程。使用條件陳述式可以編寫進行判斷和重複操作的 VBScript 代碼。在 VBScript 中可使用以下條件陳述式:

· If...Then...Else 語句
· Select Case 語句

使用 If...Then...Else 進行判斷

If...Then...Else 語句用於計算條件是否為 True 或 False,並且根據計算結果指定要啟動並執行語句。通常,條件是使用比較子對值或變數進行比較的運算式。有關比較子的詳細資料,請參閱比較子。If...Then...Else 語句可以按照需要進行嵌套。

條件為 True 時運行語句

要在條件為 True 時運行單行語句,可使用 If...Then...Else 語句的單行文法。下例示範了單行文法。請注意此例省略了關鍵字 Else。

Sub FixDate()
Dim myDate
myDate = #2/13/95#
If myDate < Now Then myDate = Now
End Sub

要運行多行代碼,必須使用多行(或塊)文法。多行(或塊)文法包含 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 時分別運行某些語句

可以使用 If...Then...Else 語句定義兩個可執行語句塊:條件為 True 時運行某一語句塊,條件為 False 時運行另一語句塊。

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

對多個條件進行判斷

If...Then...Else 語句的一種變形允許您從多個條件中選擇,即添加 ElseIf 子句以擴充 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 "數值超出範圍!"
End If

可以添加任意多個 ElseIf 子句以提供多種選擇。使用多個 ElseIf 子句經常會變得很累贅。在多個條件中進行選擇的更好方法是使用 Select Case 語句。

使用 Select Case 進行判斷

Select Case 結構提供了 If...Then...ElseIf 結構的一個變通形式,可以從多個語句塊中選擇執行其中的一個。Select Case 語句提供的功能與 If...Then...Else 語句類似,但是可以使代碼更加簡練易讀。

Select Case 結構在其開始處使用一個只計算一次的簡單測試運算式。運算式的結果將與結構中每個 Case 的值比較。如果匹配,則執行與該 Case 關聯的語句塊:

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

請注意 Select Case 結構只計算開始處的一個運算式(只計算一次),而 If...Then...ElseIf 結構計算每個 ElseIf 語句的運算式,這些運算式可以各不相同。僅當每個 ElseIf 語句計算的運算式都相同時,才可以使用 Select Case 結構代替 If...Then...ElseIf 結構。

相關文章

Beyond APAC's No.1 Cloud

19.6% IaaS Market Share in Asia Pacific - Gartner IT Service report, 2018

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。