Объявление констант
Массивы переменных
Массивы переменных имеют произвольную размерность (одномерные, двумерные, …) объявляют так:
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.