Microsoft® Visual Basic® Scripting Edition
If...Then...Else 陳述式
 程式語言參考 
  | Version 1 


說明
根據某運算式的值來決定要執行哪些部份的陳述式。
語法
If condition Then statements [Else elsestatements ]

或者,您可以使用區塊形式語法:

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

If...Then...Else 陳述式的語法具有以下幾個部分:

組成部分 說明
condition 一個或多個具有底下兩種型態的運算式:

數值運算式字串運算式,其運算結果為 TrueFalse。如果 conditionNull,則 condition 會當作 False

TypeOf objectname Is objecttype 形式存在的運算式,其中的 objectname 是任何的物件引用,而 objecttype 則是任何有效的物件型態,如果 objectnameobjecttype 所指定的一種物件型態,則運算式為 True,否則為 False

statements 一個或多個陳述式,陳述式要以冒號分開;如果 conditionTrue,則執行此部份的陳述式。
condition-n condition 一樣。
elseifstatements 如果相關的 condition-nTrue,則執行此部份的陳述式。
elsestatements 如果 conditioncondition-n 都不為 True 時,則執行此部份的陳述式。

註解
您可以使用單行形式 ( 第一種語法 ) 來簡化程式碼,但是,區塊形式 ( 第二種語法 ) 則提供結構化與彈性的功能,而且也較容易閱讀、維護、及除錯。

附註  在單行形式中,也可以放上多行的陳述式,只要在這些陳述式間加上冒號即可,如底下這行陳述式所示:
If A > 10 Then A = A + 1 : B = B + A : C = C + B

當程式執行到一個區塊式 If (第二種語法)時,condition 會加以測試。如果 conditionTrue,則在 Then 之後的陳述式會被執行。如果 conditionFalse,則每個 ElseIf 部份的條件式(如果有的話)會輪流地計算並加以測試,如果找到某個為 True 的條件式時,則其 Then 部份的陳述式會被執行。萬一都沒有一個 ElseIf 條件式為 True (或是根本就沒有 ElseIf 子句),則程式會執行 Else 部份的陳述式。而在執行完 ThenElse 之後的陳述式後,會從 End If 之後的陳述式繼續執行。

ElseElseIf 子句都是可有可無。在區塊式 If 中,您可以放置多個 ElseIf 子句,但是都必須在 Else 子句之前。區塊式 If 陳述式也可以是巢狀;也就是說,在一個 If...Then...Else 陳述式中可以有另一個 If...Then...Else 陳述式。

要決定某個陳述式是否為一個區塊 If,可檢查 Then 關鍵字之後是什麼。如果在 Then 同一行之後,還有其它非註解的字串,則此陳述式就是單行形式的 If 陳述式。

在區塊形式中,If 陳述式必須是第一行指令行,而區塊式 If 必須在最後加上一個 End If 陳述式。