VBS教程:VBscript語句-If...Then...Else 語句_vbs

來源:互聯網
上載者:User

If...Then...Else 語句

根據運算式的值有條件地執行一組語句。

If condition Then statements [Else elsestatements ]

或者,使用塊形式的文法:

If condition Then
[statements]
[ElseIf condition-n Then
[elseifstatements]] . . .
[Else
[elsestatements]]
End If

參數
condition

一個或多個下面兩種類型的運算式:

數值或字串運算式,其運算結果是 True 或 False。如果 condition 是 Null,則 condition 被視為 False。

形如 TypeOf objectname Is objecttype 的運算式。objectname 是任何對象的引用,而 objecttype 則是任何有效物件類型。如果 objectname 是 objecttype 所指定的一種物件類型,則運算式為 True;否則為 False。

Statements

如果 condition 為 True 時,執行的一條或多條(以冒號分開)語句。

condition-n

同 condition。

elseifstatements

如果相關的 condition-n 為 True時,執行的一條或多條語句。

elsestatements

如果前面沒有 condition 或 condition-n 運算式為 True 時,執行的一條或多條語句。

說明
對於短小簡單的測試,可以使用單行形式(第一種文法)。但塊形式(第二種文法)提供了比單行形式更強的結構化與適應性,比較容易閱讀、維護及調試。

注意 在單行文法中,可以執行多條語句作為 If...Then 判斷的結果,但所有語句必須在同一行上並且以冒號分開,如下列語句所示:

If A > 10 Then A = A + 1 : B = B + A : C = C + B
當程式運行到 If 塊(第二種文法)時,將測試 condition。如果 condition 是 True,則執行 Then 之後的語句。如 condition 是 False,則每個 ElseIf 部分的條件式(如果有的話)會依次計算並加以測試。當找到某個為 True 的條件時,則其相關的 Then 之後的語句會被執行。如沒有一個 ElseIf 語句是 True(或沒有 ElseIf 子句),則將執行 Else 之後的語句。執行 Then 或 Else 之後的語句以後,將繼續執行 End If 之後的語句。

Else 和 ElseIf 子句都是可選項的。在 If 塊中可以放置任意多個 ElseIf 子句,但是都必須在 Else 子句之前。If 塊語句可以被嵌套,即被包含在另一個 If 塊語句之中。

要判斷某個語句是否是一個 If 塊,可檢查 Then 關鍵字之後是什麼。如果在 Then 的同一行之後還有其他非注釋的內容,則此語句就是單行形式的 If 語句。

If 塊語句必須是某一行的第一條語句,並且必須以 End If 語句結束。


要在條件為 True 時運行單行語句,可使用 If...Then...Else 語句的單行文法

下例示範了單行文法。請注意此例省略了關鍵字 Else

複製代碼 代碼如下:

Dim myDate '定義一個變數
myDate = #2/13/95# '為變數賦值,時間:95-2-13
If myDate < Now Then myDate = Now '與目前時間判斷大小,小則將目前時間賦值MyDate
MsgBox myDate '輸出變數myDate的值,輸出為:95-2-13


要運行多行代碼,必須使用多行(或塊)文法。多行(或塊)文法包含 End If 語句

下例示範了多行文法。如下所示:

複製代碼 代碼如下:

Dim myDate '定義一個變數
myDate = #2/13/95# '為變數賦值,時間:95-2-13
If myDate < Now Then '與目前時間判斷大小
myDate = Now‘小則將目前時間賦值MyDate,並輸出重新賦值的myDate的值
MsgBox myDate '輸出為:95-2-13
End If


條件為 True 和 False 時分別運行語句

可以使用 If...Then...Else 語句定義兩個可執行語句塊:條件為 True 時運行某一語句塊,條件為 False 時運行另一語句塊。具體樣本如下所示:

複製代碼 代碼如下:

Dim myDate '定義一個變數
myDate = #2/13/2222# '為變數賦值,時間:2222-2-13
If myDate < Now Then '與目前時間判斷大小
myDate = Now '小則將目前時間賦值MyDate,並輸出重新賦值的myDate的值
MsgBox myDate
Else
MsgBox myDate '大則直接輸出myDate的值,輸出為:2222-2-13
End If


對多個條件進行判斷

If...Then...Else 語句的一種變形允許您從多個條件中選擇,即添加 ElseIf 子句以擴充 If...Then...Else 語句的功能,使您可以控制基於多種可能的程式流程。具體樣本如下所示:

複製代碼 代碼如下:

Dim value '定義一個變數
value = 10 '變數賦值為10
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 語句。

聯繫我們

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

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

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.