コンパイラ定数Compiler constants

Visual Basic for Applications では、#If...Then...#Else ディレクティブのみで使用するための定数が定義されています。Visual Basic for Applications defines constants for exclusive use with the #If...Then...#Else directive. これらの定数は機能的には #If...Then...#Else ディレクティブで定義されている定数と同じですが、スコープ内でグローバルである点が異なります。つまりプロジェクトのすべての場所に適用されます。These constants are functionally equivalent to constants defined with the #If...Then...#Else directive except that they are global in scope; that is, they apply everywhere in a project.

注意

32 ビットと 64 ビットの両方の開発プラットフォームの Win32True を返すので、#If...Then...#Else ディレクティブ内の順序がコードで必要な結果を返すことが重要です。Because Win32 returns True in both 32-bit and 64-bit development platforms, it is important that the order within the #If...Then...#Else directive returns the desired results in your code. たとえば、Win32 は 64 ビットで True を返すので (Win32Win64 環境で互換性があります)、Win64 より前に Win32 を調べると、Win32True を返すため、Win64 の条件が実行されません。For example, because Win32 returns True in 64-bit (Win32 is compatible in Win64 environments), checking for Win32 before Win64 results in the Win64 condition never running because Win32 returns True. 次の順序では、予測可能な結果が返されます (これは Winx 定数および VBAx 定数の両方に適用されます)。The following order returns predictable results (this applies to both Winx and VBAx constants):

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

16 ビット開発プラットフォームでは、コンパイラ定数は次のように定義されます。On 16-bit development platforms, the compiler constants are defined as follows.

定数Constant Value 開発環境がIndicates that the development environment...
Win16Win16 TrueTrue 16 ビット互換であることを示します。Is 16-bit compatible.
Win32Win32 FalseFalse 32 ビット互換ではないことを示します。Is not 32-bit compatible.
Win64Win64 FalseFalse 64 ビット互換ではないことを示します。Is not 64-bit compatible.

32 ビット開発プラットフォームでは、コンパイラ定数は次のように定義されます。On 32-bit development platforms, the compiler constants are defined as follows.

定数Constant Value 開発環境がIndicates that the development environment...
Vba6Vba6 TrueTrue Visual Basic for Applications バージョン 6.0 互換であることを示します。Is Visual Basic for Applications, version 6.0 compatible.
Vba6Vba6 FalseFalse Visual Basic for Applications バージョン 6.0 互換ではないことを示します。Is not Visual Basic for Applications, version 6.0 compatible.
Vba7Vba7 TrueTrue Visual Basic for Applications バージョン 7.0 互換であることを示します。Is Visual Basic for Applications, version 7.0 compatible.
Vba7Vba7 FalseFalse Visual Basic for Applications バージョン 7.0 互換ではないことを示します。Is not Visual Basic for Applications, version 7.0 compatible.
Win16Win16 FalseFalse 16 ビット互換ではないことを示します。Is not 16-bit compatible.
Win32Win32 TrueTrue 32 ビット互換であることを示します。Is 32-bit compatible.
Win64Win64 FalseFalse 64 ビット互換ではないことを示します。Is not 64-bit compatible.
MacMac TrueTrue Macintosh であることを示します。Is Macintosh.
MacMac FalseFalse Macintosh ではないことを示します。Is not Macintosh.

64 ビット開発プラットフォームでは、コンパイラ定数は次のように定義されます。On 64-bit development platforms, the compiler constants are defined as follows.

定数Constant Value 開発環境がIndicates that the development environment...
Vba6Vba6 TrueTrue Visual Basic for Applications バージョン 6.0 互換であることを示します。Is Visual Basic for Applications, version 6.0 compatible.
Vba6Vba6 FalseFalse Visual Basic for Applications バージョン 6.0 互換ではないことを示します。Is not Visual Basic for Applications, version 6.0 compatible.
Vba7Vba7 TrueTrue Visual Basic for Applications バージョン 7.0 互換であることを示します。Is Visual Basic for Applications, version 7.0 compatible.
Vba7Vba7 FalseFalse Visual Basic for Applications バージョン 7.0 互換ではないことを示します。Is not Visual Basic for Applications, version 7.0 compatible.
Win16Win16 FalseFalse 16 ビット互換ではないことを示します。Is not 16-bit compatible.
Win32Win32 TrueTrue 32 ビット互換であることを示します。Is 32-bit compatible.
Win64Win64 TrueTrue 64 ビット互換であることを示します。Is 64-bit compatible.
MacMac TrueTrue Macintosh であることを示します。Is Macintosh.
MacMac FalseFalse Macintosh ではないことを示します。Is not Macintosh.

注意

これらの定数は Visual Basic によって提供されているため、どのレベルでも、これらと同じ名前で独自の定数を定義することはできません。These constants are provided by Visual Basic, so you cannot define your own constants with these same names at any level.

関連項目See also

サポートとフィードバックSupport and feedback

Office VBA またはこの説明書に関するご質問やフィードバックがありますか?Have questions or feedback about Office VBA or this documentation? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.