共用方式為


編譯器常數

Visual Basic for Applications 會定義 常數 ,以搭配 #If...然後...#Else 指示詞。 這些常數在功能上等同於使用 #Const 指示詞定義的常數,不同之處在於它們在範圍中是 全域的;也就是說,它們會套用到專案中所有 位置

注意事項

因為 Win32 在 32 位和 64 位開發平台中都會傳回 True ,所以 #If 中的順序很重要 ...然後...#Else 指示詞會在您的程式代碼中傳回所需的結果。 例如,因為 Win32 64 位 (Win32 會在 Win64 環境中) 相容,所以在 Win64 導致 Win64 條件永遠不會執行之前檢查 Win32,因為 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 支援與意見反應