Объявление констант

Массивы переменных

Массивы переменных имеют произвольную размерность (одномерные, двумерные, …) объявляют так:

1. локальный массив:

Dim <Arr> (размерность) As<type>

2. глобальный массив:

Public <Arr> (размерность) As<type> где Arr – имя массива; type – тип элементов; размерность массива цифра, указывающая размер массива.

Примеры:

Одномерный: Dim Ball (5) As Integer – индекс с 0 или Dim Basket (45 To 74) as Single – 30 элементов массива номера с 45 по 74.

Двумерный: Dim Foot(1,3) as Long – 8 элементов массива или комбинация: Dim Cross(1,4 To 5) As Date 4 элемента массива: 0,4;0,5;1,4;1,5.

Трехмерный: Public Game (2,2,3) As Single – 36 элементов.

 

Константы объявляют с помощью оператора:

Const <const>=<значение>

Здесь <const> – имя константы; <значение> – значение константы.

Они тоже есть локальные и глобальные (Public).

Примеры:

Public Const Date1=#12.12.96# или Const Date2=#12.12.97#

В VBA есть встроенные константы, которые применяют без специального объявления, но они начинаются с символов XL.

8.7. Операции языка VBA

В языке VBA содержатся следующие операции.

1. Математические операции: +, -, *, /, \ (целочисленное деление).

ОП1 Mod ОП2 – остаток от деления на целое.

ОП1^ОП2 – введение в степень.

2. Операции отношения: <, >, <=, >=, <> не равно, =

ОП1 Is ОП2 – сравнение двух операторов, содержащих ссылки на объекты. (проверяется, является ли значение пустым для объектов с NOOL)

ОП1 Like ОП2 – сравнение двух строковых выражений.

3. Логические операции: and – логическое умножение (получаем 1, если оба операнда равны 1, а иначе всегда 0), or логическое сложение (получаем 1, если хотя бы один операнд равен 1, а 0, если все операнды равны 0), xor – исключающее или (возвращает 1, если один оператор возвращает 1); Not – логическое отрицание.

4. Другие операции:

Строка 1 & Строка 2 – сложение строк (конкатенация).

Операции выполняются в следующей последовательности:

1. вызов функций и скобки;

2. возведение в степень (^);

3. - – смена знака;

4. умножение (*), деление (/);

5. деление целых чисел нацело (\);

6. mod;

7. сложение (+), вычитание(-);

8. операции сравнения (<,>,<=, >=, <>, =);

9. логическое отрицание (not);

10. логическое умножение (and);

11. логическое сложение (or);

12. исключающее или (xor).

Имя переменной длиной не более 255 символов. Первый символ – буква, не может быть символов V,, #, $, %, & - это специальные символы.

Перенос строки – символы «V_» в конце строки обеспечивают то, что последняя строка является продолжением следующей (до семи строк – 1024 символа). Если разбиваем текстовую константу, в начале второй строки ставим & и текст в кавычках «...».

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

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

Обычно они возвращают значение (не массив), которое может иметь тип Variant или String, но в некоторых, если к имени справа добавить $: Chr$; Lcase$; Left$… Они бывают математическими, строковыми, даты и времени (Date()), преобразования типов данных [CSTR()] файловой системы (FILELEN() – определяет длину файла в байтах).

8.9. Функции пользователя

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

Function <имя процедуры> (аргументы) As <type>

Тело процедуры

End Function

Примеры:

Sub Proc_A()

S as Single: Dim LL as Single; Dim HH as Single

LL=12: HH=23: S=Sq(LL;H)/2+1200

End Sub

Function Sq(H as Single; L as Single) as Single

Sq=H*L: End Function

 

8.10. Операторы языка VBA

8.10.1. Оператор присваивания

Оператор присваивания имеет вид: <var>=<formula>

Это самый распространённый оператор.

Примеры:

Place=”d:\windows\system”

File = “Game Tree.Exe”

Student_Card(100).Group=133

8.10.2. Оператор комментариев

Это пояснение к программе. Начинается в строке с произвольного места программы символом ‘.

8.10.3. Процедуры

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

У них стандартное оформление:

Sub <имя - процедуры> (аргументы)

….

Тело процедуры (операторы)

….

End Sub

Оператор Sub – объявляет процедуру, задает имя и указывает состав аргументов, передаваемых при вызове процедуры из программы. Ему всегда соответствует свой оператор End Sub.

В программе могут использоваться процедуры других рабочих книг. Для этого задают ссылки. Если модуль на рабочем месте, то выполняются команды Сервис/ссылки и выбирают нужный из списка. Для установки новых ссылок щелкнуть по кнопке. Пролистать и указать диск, каталог и файл, содержащий процедуры, на которые можно ссылаться из данного модуля.

1. Вызов процедуры осуществляется по имени: Proc_B

2. Если он в другой процедуре другого модуля, то [Модуль#].Proc_B

3. Из другого приложения:

[RW1.XLS].[Модуль #].Proc_B

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

Private Sub Proc_B ()

….

End Sub

Если не хотим, чтобы к модулю обращались из других рабочих книг, то указывают:

Option Private Module

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

Объявление аргументов в заголовке процедуры имеет вид:

Sub Proc_ B (Val1 As Single; Val2 As Date;…)

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