#If...Then...#Else 指示詞
條件式編譯選取的 Visual Basic 程式碼區塊。
語法
#If表達式Then
陳述式
[ #ElseIfexpression-nThen
[ elseifstatements ]]
[ #Else
[ elsestatements ]]
#End If
#If...Then...#Else 指示詞的語法具有以下幾個部分:
部分 | 描述 |
---|---|
運算式 | 必要。 以獨佔方式包含一或多個條件式編譯器常數、常值和運算子的任何運算式,評估為 True 或 False。 |
statements | 必要。 相關聯的運算式為 True 時,進行評估的 Visual Basic 程式行或編譯器指示詞。 |
expression-n | 選用。 以獨佔方式包含一或多個條件式編譯器常數、常值和運算子的任何運算式,評估為 True 或 False。 |
elseifstatements | 選用。 如果 expression-n 為 True,則會評估一或多個程式行或編譯程式指示 詞。 |
elsestatements | 選用。 如果沒有先前的表達式或expression-n為True,則會評估一或多個程式行或編譯程式指示詞。 |
註解
#If...Then...#Else 指示詞的行為與 If...Then...Else 陳述式相同,例外之處在於 #If、#Else、#ElseIf 和 #End If 指示詞沒有單行格式,也就是說,在任何指示詞的相同行上不能出現其他程式碼。
條件式編譯通常是用來針對不同平台編譯相同的程式。 它也會用來防止偵錯程式代碼出現在可執行檔中。 條件式編譯期間排除的程式碼會在最終可執行檔完全省略,因此沒有大小或效能影響。
無論任何評估的結果為何,都會評估所有運算式。 因此,必須定義用於運算式的所有常數,任何未定義的常數都會評估為空白。
注意事項
Option Compare 陳述式不會影響 #If 和 #ElseIf 陳述式中的運算式。 條件式編譯器指示詞中的運算式一律會以選項比較文字進行評估。
範例
此範例參考 #If...Then...#Else 建構中的條件式編譯器常數,以判斷是否編譯特定陳述式。
' If Mac evaluates as true, do the statements following the #If.
#If Mac Then
'. Place exclusively Mac statements here.
'.
'.
' Otherwise, if it is a 32-bit Windows program, do this:
#ElseIf Win32 Then
'. Place exclusively 32-bit Windows statements here.
'.
'.
' Otherwise, if it is neither, do this:
#Else
'. Place other platform statements here.
'.
'.
#End If
另請參閱
支援和意見反應
有關於 Office VBA 或這份文件的問題或意見反應嗎? 如需取得支援服務並提供意見反應的相關指導,請參閱 Office VBA 支援與意見反應。