Константы компилятораCompiler constants

Visual Basic для приложений определяет константы для монопольного использования с помощью #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.

Примечание

Так как Win32 возвращает значение True как для 32-разрядной платформы, так и для 64-разрядной платформы разработки, важно, чтобы порядок в #If... Затем директива... #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 возвращает true в 64-bit (Win32 совместим в средах Win64 ), то проверка Win32 перед архитектурой Win64 не выполняется, так как Win32 возвращает значение true.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. В следующем порядке возвращаются прогнозируемые результаты (это относится как к константам Винкс, так и к Вбакс):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...
ПлатформеWin16 TrueTrue 16-разрядный совместимый.Is 16-bit compatible.
ОригинальWin32 FalseFalse Не является 32-разрядным совместимым.Is not 32-bit compatible.
ВызовWin64 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 для приложений, совместимый с версией 6,0.Is Visual Basic for Applications, version 6.0 compatible.
Vba6Vba6 FalseFalse Не является Visual Basic для приложений, совместимый с версией 6,0.Is not Visual Basic for Applications, version 6.0 compatible.
Vba7Vba7 TrueTrue — Visual Basic для приложений, совместимый с версией 7,0.Is Visual Basic for Applications, version 7.0 compatible.
Vba7Vba7 FalseFalse Не является Visual Basic для приложений, совместимый с версией 7,0.Is not Visual Basic for Applications, version 7.0 compatible.
ПлатформеWin16 FalseFalse Не совместим с 16-разрядной версией.Is not 16-bit compatible.
ОригинальWin32 TrueTrue — 32-разрядный совместимый.Is 32-bit compatible.
ВызовWin64 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 для приложений, совместимый с версией 6,0.Is Visual Basic for Applications, version 6.0 compatible.
Vba6Vba6 FalseFalse Не является Visual Basic для приложений, совместимый с версией 6,0.Is not Visual Basic for Applications, version 6.0 compatible.
Vba7Vba7 TrueTrue — Visual Basic для приложений, совместимый с версией 7,0.Is Visual Basic for Applications, version 7.0 compatible.
Vba7Vba7 FalseFalse Не является Visual Basic для приложений, совместимый с версией 7,0.Is not Visual Basic for Applications, version 7.0 compatible.
ПлатформеWin16 FalseFalse Не совместим с 16-разрядной версией.Is not 16-bit compatible.
ОригинальWin32 TrueTrue — 32-разрядный совместимый.Is 32-bit compatible.
ВызовWin64 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.