Смекни!
smekni.com

Основы программирования в среде Visual Basic for Application VBA (стр. 8 из 21)

Инструкция Dim предназначена для описания типа данных переменной на уровне модуля или процедуры. Например, следующая инструкция описывает переменную с типом Integer.

Dim N As Integer

Инструкция Dim предназначена также для описания объектного типа переменных. Далее приводится описание переменной для нового экземпляра рабочего листа.

Dim X Аs New Worksheet

Если при описании объектной переменной не используется ключевое слово New то для использования объекта, на который ссылается переменная, существующий объект должен быть присвоен переменной с помощью инструкции Set.

Если тип данных или тип объекта не задан, и в модуле отсутствует инструкция DefТип, по умолчанию переменная получает тип Variant. Для обязательного описания всех переменных надо поместить в начале модуля инструкцию Оption Explicit. Использование этой инструкции полезно при отладке программ, т. к. она позволяет легче отслеживать возможную путаницу в именах при наборе программы.

3.2.1 Допустимые имена

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

1. Длина имени не должна превышать 255 символов.

2. Имя не может содержать точек, пробелов и следующих символов: % , & , !, #.©, $.

3. Имя может содержать любую комбинацию букв, цифр и символов, начинающуюся с буквы.

4. Имена должны быть уникальны внутри области, в которой они определены.

5. Не следует использовать имена, совпадающие с ключевыми словами VBA и именами встроенных функций и процедур.

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

3.3 Константы

Константы, в отличие от переменных, не могут изменять свои значения. Использование констант делает программы легче читаемыми и позволяет проще вносить исправления отпадает необходимость многократно исправлять значения по тексту программы, т. к. достаточно ввести новое значение при определении константы. Синтаксис:

[Public | Private] Const ИмяКонстанты [As Тип] = Выражение

Аргументы:

Public Ключевое слово, используемое на уровне модуля для описания констант, доступных всем процедурам во всех модулях. Не допускается в процедурах.
Private Ключевое слово, используемое на уровне модуля для описания констант, доступных только внутри модуля, в котором выполняется описание. Не допускается в процедурах.
ИмяКонстанты Имя константы, удовлетворяющее стандартным правилам именования переменных
Тип Один из поддерживаемых типов данных: Byte, Boolean,Integer, Long, Currency, Single, Double. Decimal (в настоящее время не поддерживается), Date, String или Variant. Для каждой описываемой константы следует использовать отдельное предложение as тип
Выражение Литерал, другая константа или любое сочетание, которое включает все арифметические или логические операторы, за исключением Is

Пример:

Const ПроцентнаяСтавка As Single = 0.2

Const Фирма = "ООО Бескрайние просторы"


3.4 Комментарии

Работая с программой, удобно использовать комментарии, т. е. фрагменты текста программы, не являющиеся программными кодами и игнорируемые компилятором. Комментарии выполняют две важные функции:

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

2. Временно отключают фрагменты программы при ее отладке.

В языке VBA существуют два способа ввода комментариев:

Применение апострофа ('). Его можно ставить в любом месте строки. При этом все символы, начиная от апострофа до конца строки, будут восприниматься компилятором как комментарий.

Применение зарезервированного слова Rem вместо апострофа.

Ниже приведен пример использования комментариев в тексте программы:

Dim a As Integer

' а – целая переменная

Dim b As String ' b – строковая переменная

4. Операции VBA

В программах на VBA можно использовать стандартный набор операций над данными. Имеются три основных типа операций:

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

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

Логические, используются в логических выражениях и их результатом являются логические значения, например Not x And у.

Приведем операции VBA указанных и дополнительных категорий.

4.1 Математические операции

[Операнд1] + [Операнд2] Сложение
[Операнд1] - [Операнд2] Вычитание
- [Операнд] Перемена знака
[Операнд1] * [Операнд2] [Операнд1] / [Операнд2] Умножение Деление
[Операнд1] \ [Операнд2] Целочисленное деление
[Операнд1] Mod [Операнд2] Остаток от деления по модулю
[Операнд1] ^ [Операнд2] Возведение в степень

4.2 Операции отношения

[Операнд1]< [Операнд2] Меньше
[Операнд1]> [Операнд2] Больше
[Операнд1]<= [Операнд2] Меньше или равно
[Операнд1]>= [Операнд2] Больше или равно
[Операнд1] <> [Операнд2] Не равно
[Операнд1] = [Операнд2] Равно
[Операнд1] Is [Операнд2] Сравнение двух операндов, содержащих ссылки на объекты
[Операнд1] Like [Операнд2] Сравнение двух строковых выражений

4.3 Логические операции

[Операнд1] And [Операнд2] Логическое умножение
[[Операнд1] Or [Операнд2] Логическое сложение
[Операнд1] Хоr [Операнд2] Исключающее or (или)
Not [Операнд2] Логическое отрицание

4.4 Операции со строками

[Строка1] & [Строка2] Сложение строк. Для сложения строк допустимо использование операции [Cтрока1 +[Строка2], но предпочтительнее, во избежание путаницы, применять операцию со знаком &

4.5 Приоритеты операций

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

Приоритет Операция
1 Вызов функции и скобки
2 ^
3 - (смена знака)
4 *, /
5 &bsol;
6 Mod
7 +, -
8 >, <, >=, <=, <>,=
9 Not
10 And
11 Or

4.6 Встроенные функции VBA

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

Эти функции можно разделить на следующие основные категории:

Математические функции

Функции проверки типов

Функции преобразования форматов

Функции обработки строк

Функции времени и даты

Ниже рассмотрены основные функции из этих категорий.

Математические функции

В VBA имеется большой список математических функций, позволяющих произвести любые вычисления.

Функция Возвращаемое значение
Abs (число) Модуль (абсолютная величина)
Atn (число) Арктангенс
Cos (число) Косинус
Exp (число) Экспонента, т. е. результат возведения основания натурального логарифма в указанную степень
Log (число) Натуральный логарифм
Rnd (число) Случайное число из интервала [0,1).Если число меньше нуля, то Rnd возвращает каждый раз одно и то же число, используя аргумент в качестве опорного числа; если число больше нуля или аргумент опущен, то следующее случайное число в последовательности; если число равняется нулю, то случайное число, возвращенное при предыдущем вызове этой функции.Перед вызовом функции Rnd используйте инструкцию Randomize без аргумента
Sgn (число) Знак числа
Sin (число) Синус
Sqr (число) Квадратный корень из числа
Tan (число) Тангенс
Fix (число) и Int (число) Обе функции, Int и Fix, отбрасывают дробную часть числа и возвращают целое значение.Различие между функциями Int и Fix состоит в том, что для отрицательного значения аргумента число функция Int возвращает ближайшее отрицательное целое число, меньшее либо равное указанному, a Fix ближайшее отрицательное целое число, большее либо равное указанному

4.7 Функции преобразования форматов

Преобразование строки в число и обратно осуществляют следующими функциями.

Val (строка) Возвращает числа, содержащиеся в строке, как числовое значение соответствующего типа
Str (число) Возвращает значение типа variant (string), являющееся строковым представлением числа

В качестве допустимого десятичного разделителя функция str воспринимает только точку. При наличии другого десятичного разделителя (например, запятой) для преобразования чисел в строки следует использовать функцию cstr.