共用方式為


編譯器常數

Visual Basic for Applications 定義了常 ,僅供 #If...然後......#Else 指令。 這些常數在功能上等價於以 #Const 指令定義的常數,但其 範圍是全域的;也就是說,它們適用於 專案的每個角落。

注意事項

由於 Win32 在 32 位元與 64 位元開發平台上都回歸 True ,因此 #If 內的順序非常重要 ......然後......#Else 指令會 回傳你想要的結果。 例如,由於 Win32 64 位元 (Win32Win64 環境中) 相容,若在 Win64 前檢查 Win32,則 Win64 條件從未執行,因為 Win32 回傳 True。 以下順序會回傳可預測的結果 (這適用於 Winx 和 VBAx 常數) :

#If Win64 Then 
' Win64=true, Win32=true, Win16= false 
#ElseIf Win32 Then 
' Win32=true, Win16=false 
#Else 
' Win16=true 
#End If

在 16 位元開發平台上,編譯器常數的定義如下。

常數 顯示開發環境......
Win16 True 是否支援 16 位元?
Win32 False 不支援 32 位元。
Win64 False 不支援 64 位元。

在 32 位元開發平台上,編譯器常數的定義如下。

常數 顯示開發環境......
Vba6 True Visual Basic for Applications 版本是否相容於 6.0 版本?
Vba6 False 它不相容 Visual Basic for Applications 6.0 版本嗎?
Vba7 True Visual Basic for Applications 版本是否相容 7.0?
Vba7 False 它不相容 Visual Basic for Applications 7.0 版本。
Win16 False 不支援 16 位元。
Win32 True 是 32 位元相容嗎?
Win64 False 不支援 64 位元。
Mac True 是 Macintosh。
Mac False 不是 Macintosh。

在 64 位元開發平台上,編譯器常數的定義如下。

常數 顯示開發環境......
Vba6 True Visual Basic for Applications 版本是否相容於 6.0 版本?
Vba6 False 它不相容 Visual Basic for Applications 6.0 版本嗎?
Vba7 True Visual Basic for Applications 版本是否相容 7.0?
Vba7 False 它不相容 Visual Basic for Applications 7.0 版本。
Win16 False 不支援 16 位元。
Win32 True 是 32 位元相容嗎?
Win64 True 是否支援 64 位元?
Mac True 是 Macintosh。
Mac False 不是 Macintosh。

注意事項

這些常數是由 Visual Basic 提供,因此你無法在任何層級用相同名稱定義自己的常數。

另請參閱

支援和意見反應

有關於 Office VBA 或這份文件的問題或意見反應嗎? 如需取得支援服務並提供意見反應的相關指導,請參閱 Office VBA 支援與意見反應