Чтение онлайн

на главную - закладки

Жанры

Офисное программирование
Шрифт:

Даты можно вычитать одну из другой, добавлять к дате или вычитать числа для изменения ее значения. Например, если необходимо определить количество дней между двумя датами, просто необходимо вычесть более раннюю дату из более поздней даты. Поскольку это значения типа Date, VBA «знает», что целью вычисления является получение разности в днях между двумя этими датами. Аналогично, если необходимо определить дату через 60 дней после определенной даты, необходимо прибавить 60 к этой дате.

Во многих языках программирования, в том числе и в VBA-программе, рабочая программа должна «принять» решение, являются ли истинными различные условия. Для упрощения тестирования условий и обеспечения сохранения результатов такого тестирования в VBA имеется логический тип данных. Логические значения True и False называют булевскими (Boolean) значениями. Логический тип данных VBA называют также типом Boolean.

Тип данных Variant – это особый тип данных, который может сохранять любые типы, приведенные в табл. 1, за исключением типа Object. VBA использует тип Variant для всех переменных, если в теле программы не объявлялся явно тип этих переменных.

Данные типа Variant принимают характеристики определенного типа, который они сохраняют в этот момент. Например, если данные типа Variant содержат строковые данные, Variant принимает характеристики типа String. Если данные типа Variant содержат численные данные, Variant принимает характеристики какого-либо численного типа, обычно Double, хотя типы Variant могут также иметь характеристики типов Integer, Long, Single или Currency.

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

Переменные

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

Идентификатор – это имя переменной. При выборе имени переменной необходимо соблюдать следующие правила:

имя переменной должно начинаться с буквы алфавита;

после первой буквы имя переменной может состоять из любой комбинации цифр, букв или символов подчеркивания;

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

имя переменной не должно превышать 255 символов;

имя переменной не должно дублировать определенные ключевые слова vba.

Самым простым способом создания переменной является использование ее в операторе VBA. VBA создает переменную и тут же резервирует ячейку памяти для данной переменной.

Сохранение значения данных в переменной называется присваиванием переменной. Присваивание выполняется с помощью оператора присваивания, представляемого знаком (=). Например, А = 145.

Создание переменной путем ее использования в операторе называется неявным объявлением переменной. Все переменные, которые VBA создает неявным объявлением переменной, имеют тип данных Variant.

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

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

Для объявления переменных используются операторы Dim, Public, Private и Static. Первый можно использовать на обоих уровнях, Public, Private – на уровне модуля, Static – только на уровне процедуры.

Объявление простых переменных имеет следующий синтаксис:

Dim <имя переменной1, имя переменной2,…> As <имя типа>

или

Dim <имя переменной1> As <имя типа1>, <имя переменной2> As <имя типа2>,<имя переменной3> As <имя типа3>, …

Примечание. Все переменные, которые создаются просто ключевым словом Dim, являются переменными типа Variant. Если используется ключевое слово As, то объявляемая переменная называется типизированной.

Примеры объявлений типизированных констант:

Dim ключ As single

Dim стоимость Аs currency

Dim дата_рождения AS Date

Dim письмо Аs string

Явное объявление переменных имеет следующие преимущества:

ускоряется выполнение кода, так как vba создает все объявленные явно переменные в модуле или процедуре перед выполнением кода процедуры;

скорость выполнения кода увеличивается на то количество времени, которое необходимо для анализа и создания неявно объявляемых переменных;

уменьшается количество ошибок в результате неправильного написания имени переменной;

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

Примечание. Имена переменных не «чувствительны» к состоянию регистра, т. е. переменные f и F в программе означают одно и то же.

Константы

Константа – это значение в программе VBA, которое не меняется. Существует несколько типов констант.

Именованные константы – константы, имеющие заданное имя; это имя имеет конкретное неизменяемое значение.

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

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

Поделиться:
Популярные книги

Мастер...

Чащин Валерий
1. Мастер
Фантастика:
героическая фантастика
попаданцы
аниме
6.50
рейтинг книги
Мастер...

Материк

Алексеев Сергей Трофимович
Проза:
современная проза
8.53
рейтинг книги
Материк

Гримуар темного лорда IX

Грехов Тимофей
9. Гримуар темного лорда
Фантастика:
попаданцы
альтернативная история
аниме
фэнтези
5.00
рейтинг книги
Гримуар темного лорда IX

Бояръ-Аниме. Газлайтер. Том 34

Володин Григорий Григорьевич
34. История Телепата
Фантастика:
фэнтези
боевая фантастика
аниме
5.00
рейтинг книги
Бояръ-Аниме. Газлайтер. Том 34

Удар Молнии

Алексеев Сергей Трофимович
Детективы:
боевики
5.00
рейтинг книги
Удар Молнии

Адвокат

Константинов Андрей Дмитриевич
1. Бандитский Петербург
Детективы:
боевики
8.00
рейтинг книги
Адвокат

Дни мародёров

-Joy-
Детективы:
триллеры
5.00
рейтинг книги
Дни мародёров

На границе империй. Том 9. Часть 5

INDIGO
18. Фортуна дама переменчивая
Фантастика:
космическая фантастика
попаданцы
5.00
рейтинг книги
На границе империй. Том 9. Часть 5

Весь цикл «Десантник на престоле». Шесть книг

Ланцов Михаил Алексеевич
Десантник на престоле
Фантастика:
альтернативная история
8.38
рейтинг книги
Весь цикл «Десантник на престоле». Шесть книг

Изгой Проклятого Клана. Том 3

Пламенев Владимир
3. Изгой
Фантастика:
аниме
фэнтези
фантастика: прочее
попаданцы
5.00
рейтинг книги
Изгой Проклятого Клана. Том 3

Альбион сгорит!

Зот Бакалавр
10. Герой Империи
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Альбион сгорит!

Снайпер

Поселягин Владимир Геннадьевич
3. Жнец
Фантастика:
боевая фантастика
попаданцы
5.60
рейтинг книги
Снайпер

Тьма и Хаос

Владимиров Денис
6. Глэрд
Фантастика:
фэнтези
боевая фантастика
попаданцы
5.00
рейтинг книги
Тьма и Хаос

Жена по ошибке

Ардова Алиса
Любовные романы:
любовно-фантастические романы
7.71
рейтинг книги
Жена по ошибке