Константа – это неизменное значение в программе VBA. Константы используются в математических операциях, операциях сравнения, а также в качестве аргументов для процедур. Различают литеральные, именованные и внутренние константы.
Литеральные константы
Значения литеральных констант записываются непосредственно в программный код.
Здесь 3.1415 - это численная литеральная константа, а "Площадь круга" - строковая литеральная константа. Константы можно изменять только редактированием исходного кода VBA.
Именованные константы
Именованные константы перед их использованием необходимо явно объявлять, используя ключевое слово Const.
Здесь Pi - это численная именованная константа, а Caption - строковая именованная константа.
Именованные константы используются для повышения читабельности программного кода процедур, а также для более простого обновления и сопровождения процедур и программ. Всегда проще и быстрее изменить значение один раз в начале процедуры, чем искать это значение по всему коду и изменять многократно.
Создание именованных констант
При выборе имен для именованных констант необходимо руководствоваться теми же правилами и рекомендациями, которые необходимо соблюдать при выборе имен для переменных. Для констант можно использовать те же самые типы данных, которые используются для переменных.
Задание типа константы
Объявление конкретного типа данных для константы производится аналогично объявлению типа данных для переменной, за исключением того, что используется ключевое слово Const вместо Dim.
Здесь Pi - это именованная константа, имеющая тип данных Single, а Caption - именованная константа, имеющая тип данных String.
Объявление конкретного типа данных для константы может повысить точность и скорость вычислений.
Область действия констант
Именованные константы можно объявлять как в процедурах (между ключевыми словами Sub и End Sub), при этом константа будет иметь область действия процедурного уровня, так и в области объявлений, в начале модуля, тогда константа будет иметь область действия модульного уровня. Главной целью использования именованных констант является предотвращение повторения значений литеральных констант в процедурах, поэтому целесообразно, чтобы именованные константы имели наибольшую область действия и были доступны всем процедурам в модуле.
В приведенном выше программном коде, Caption - константа процедурного уровня, а Pi - константа модульного уровня, ее значение доступно и процедуре Circle_Area и процедуре Circle_Lenght.
Внутренние константы
В языке VBA существует ряд внутренних констант, называемых также предопределенными константами. Внутренняя константа – это именованная константа, определенная разработчиками языка VBA. Все внутренние константы, определяемые VBA, начинаются с букв vb. Кроме этого существуют внутренние константы host-приложений. Например, внутренние константы Excel начинаются с букв xl, а внутренние константы Word начинаются буквами wd. Для просмотра полного списка имеющихся внутренних констант, определяемых VBA или host-приложением, используйте Object Browser.
|