Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лаб раб 2 Типы данных VBA.doc
Скачиваний:
7
Добавлен:
14.03.2016
Размер:
286.21 Кб
Скачать

Задание №5 в компьютерном классе: внести изменения в программный код, в соответствии с рисунком выше.

В настройках редактора VBA можно указать, чтобы команда Option Explicit автоматически включалась в новый модуль.

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- арифметическая или операция сравнения между двумя именами ранее описанных констант.

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

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

Задание №6 в компьютерном классе: создать в VBA макрос, представленный на рисунке выше.

Для этого создайте книгу Программа2.xls в MS Excel, войдите в редактор VBA через меню Сервис-Макрос и, выбрав в разделе VBAProject созданного документа раздел ЭтаКнига, введите программный код.

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

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

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