Главная страница Карта сайта Написать письмо
Главная HTML Word Excel VBA Графика Свой сайт Форум Free soft вебмастера SEO-новости Статьи
На главную Учебник HTML Учебник Word Учебник Excel Учебник VBA Учебник Corel Как создать сайт Форум Free soft Новости SEO Статьи SEO, WEB, HTML
Самоучитель vba: Теория
..Первый макрос в Word
..Этапы записи макроса
..Запись макроса в Word
..Запись макроса в Excel
..Код макроса
..Выполнение макроса
..Типы данных VBA
..Переменные VBA
..Константы VBA
..Совместимость типов данных
..Арифметические операторы
..Логические операторы
..Строковые операторы
..Функции VBA ч.1
..Функции VBA ч.2
..Примеры использования функций
..Функции host-приложений
..Функции-процедуры
..Пользовательские функции в Excel
..Операторы ветвления: простой выбор
..Операторы ветвления: сложный выбор
..Использование MsgBox
..Прерывание процедур и функций
..Необязательные аргументы функций
..Циклы VBA ч.1
..Циклы ч.2
..Циклы ч.3
..Массивы VBA ч.1
..Массивы ч.2
..Массивы ч.3
 
 

Константы VBA

Константа - это значение в программе VBA, которое не изменяется.

Константы можно использовать как аргументы для процедур, в математических операциях, операциях сравнения и пр.

Константы бывают литеральными и именованными.


Литеральная константа - это константа (число, строковое выражение, дата), расположенная непосредственно в коде.


Например: X = Y + 2


Здесь число 2 является литеральной константой.


Именованная константа, как правило, объявляется в начале модуля или процедуры (аналогично переменной) и предназначена для удобства читания и понимания программного кода. Например, более целесообразно использовать в коде программы именованную константу Pi (которой присвоено значение 3,14), чем литеральную константу 3,14. Согласитесь, что выражение
S = Pi * R* R
Более "понятно", чем
S = 3.14 * R * R

Другим веским фактором в пользу именованных констант служит то обстоятельство, что изменив значение константы один раз, эти изменения мгновенно произойдут во всем программном коде. Литеральную константу надо искать и изменять в теле кода "вручную", на что может уйти довольно значительное время.

Однако не стоит использовать именованные константы сплошь и рядом, т.к. код может стать абсолютно нечитабельным, а вы сами запутаетесь, что и где находится.

Литеральные константы

Существует несколько правил, которые необходимо соблюдать при написании литеральных констант.

Константы String
  • Строковые константы должны быть заключены в двойные кавычки (");
  • Пустая строковая константа (так называемая "нулевая строка") обозначается двумя двойными кавычками, между которыми ничего нет ("");
  • Строковая константа обязательно должна вся находиться на одной строке.
Численные константы
  • Численные константы могут содержать любой из численных типов VBA;
  • Численные константы должны состоять только из числовых символов от 0 до 9;
  • Численная константа может начинаться со знака (-) и может содержать десятичную точку;
  • Можно использовать экспоненциальное представление для численных констант;
  • Никакие другие символы или знаки не допускаются в численных константах.
Константы Date
  • Константы Date необходимо помещать между знаками фунта (#), при этом формат задания даты может быть различным:
    #3-5-99#
    #February 13, 2008 10:15am#
    #Jun-20-2005#
    # 9 April 1998#
  • VBA переформатирует дату к следующему виду: #4/9/1998#
  • Если пропустить знак фунта (#) при записи литеральной константы даты, VBA не сможет правильно интерпретировать константу даты как дату;
  • Нельзя заключать литеральные константы даты в двойные кавычки, т.к. в этом случае VBA распознает такую константу как строковую.
Константы Boolean

Существуют только два вида констант типа Boolean: True, False. При этом их нельзя брать в кавычки или сокращать.

Именованные константы

При создании и объявлении именованных констант надо придерживаться тех же принципов, что и при работе с переменными.

Для объявления именованной константы предназначено ключевое слово Const


Синтаксис

Const name_1 = value_1 [opetator name_2..] [, name_3 =..]

Name_N - любой допустимый идентификатор имени константы;
Value_N - любое значение данных;
Opetator - арифметическая или операция сравнения между двумя именами ранее описанных констант.


Область действия именных констант аналогична переменным, т.е. константы бывают процедурного и модульного уровня.

Поскольку одной из главных целей использования именованной константы является предотвращение повторения или дублирования литеральных констант, как правило, бывает необходимо, чтобы именованные константы были доступны всем процедурам в модуле. Поэтому целесообразно помещать объявления констант на модульном уровне, чтобы у них была наибольшая область действия.



Задание типа константы

Когда объявляется именованная константа или используется литеральная, VBA воспринимает эту константу тем типом, который наиболее согласуется с ее значением.

В VBA можно задавать тип константы (по аналогии с переменными). Но в отличие от переменных нельзя задавать типы Object и Array. Например, в вышеприведенном листинге вполне уместно константе Pi задать тип Single
Const Pi As Single = 3.14

Внутренние константы

Внутренняя константа - это именованная константа, которая была определена разработчиками VBA.

Помимо внутренних констант VBA существуют внутренние константы для работы с host-приложениями. Так, Excel содержит внутренние константы для использования с рабочими книгами электронных таблиц. Аналогично, Word содержит внутренние константы для работы с документами и шаблонами текстового редактора, а Access - для операций с базами данных.

Внутренние константы, определяемые VBA, начинаются с букв vb. Внутренние константы Excel - xl; Word - wd.

Внутренние константы, определяемые host-приложением VBA (например, Excel, Word) упрощают использование различных свойств и методов, принадлежащих этому host-приложению.

Для того, чтобы увидеть полный список имеющихся в наличии внутренних констант необходимо использовать Object Browser. Его можно вызвать клавишей F2 в окне редактора VBA.


top


Самоучитель vba: Практика
Игра: Цепная реакция
Приложения
..Сумматор
..Наклейки
..Восьмерка
..Менеджер почты
Надстройки
..DEF
..SortSheets
..HideSheet
Тематические ссылки
 
Рекомендую
Смотреть все книги»
 
 


Спасибо, что заглянули на сайт. Надеюсь, Вам понравилось. Заходите еще. Здесь всегда рады вам :)
При копировании материалов, размещенных на сайте, ссылка на первоисточник обязательна.

© 2005-2008
Юрий Кордык All Rights Reserved

 

E-mail:
admin@on-line-teaching.com