Константы компилятора
Visual Basic для приложений определяет константы для монопольного использования с #If... Директива Then...#Else. Эти константы функционально эквивалентны константам, определенным с помощью директивы #Const, за исключением того, что они являются глобальными в область, то есть применяются везде в проекте.
Примечание.
Так как Win32 возвращает значение True как на 32-разрядных, так и на 64-разрядных платформах разработки, важно, чтобы порядок в #If... Директива then...#Else возвращает нужные результаты в коде. Например, так как Win32 возвращает значение True в 64-разрядной версии (Win32 совместим в средах Win64 ), проверка win32 до Win64 приводит к тому, что условие 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 для приложений версии 6.0. |
Vba6 | False | Не Visual Basic для приложений, совместима с версией 6.0. |
Vba7 | True | Совместимо с Visual Basic для приложений версии 7.0. |
Vba7 | False | Не Visual Basic для приложений, совместима с версией 7.0. |
Win16 | False | Не совместимо с 16-разрядными версиями. |
Win32 | True | Совместимо с 32-разрядными версиями. |
Win64 | False | Не совместимо с 64-разрядными версиями. |
Mac | True | Это Macintosh. |
Mac | False | Это не Macintosh. |
На 64-разрядных платформах разработки константы компилятора определяются следующим образом.
Константа | Значение | Указывает, что среда разработки... |
---|---|---|
Vba6 | True | Совместима с Visual Basic для приложений версии 6.0. |
Vba6 | False | Не Visual Basic для приложений, совместима с версией 6.0. |
Vba7 | True | Совместимо с Visual Basic для приложений версии 7.0. |
Vba7 | False | Не Visual Basic для приложений, совместима с версией 7.0. |
Win16 | False | Не совместимо с 16-разрядными версиями. |
Win32 | True | Совместимо с 32-разрядными версиями. |
Win64 | True | Совместимо с 64-разрядными версиями. |
Mac | True | Это Macintosh. |
Mac | False | Это не Macintosh. |
Примечание.
Эти константы реализованы в Visual Basic. В связи с этим, вы не можете определять одноименные константы на любом уровне.
См. также
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.