Содержит следующие группы символов.
1. Буквы. Используются прописные и строчные буквы латинского и русского алфавитов. Ключевые слова записываются только на латинском. Имена могут быть русскими. Нет различия между прописными и строчными буквами.
2. Цифры от 0 до 9.
3. Прочие символы:
· знаки операций + – / * ^…
· разделители, знаки пунктуации., …
· парные символы () [] ″ ² ¢ ¢…
· прочие …
· невидимые символы – пробел, Enter,
· кавычка ¢начинает комментарий – все, что от нее до конца строки не влияет на смысл программы.
Основные синтаксические принципы этого языка следующие:
VBA нечувствителен к регистру;
чтобы закомментировать код до конца строки, используется одинарная
кавычка (') или команда REM;
символьные значения должны заключаться в двойные кавычки (");
максимальная длина любого имени в VBA (переменные, константы, про-
цедуры) — 255 символов;
начало нового оператора — перевод на новую строку (точка с запятой, как
в C, Java, JavaScript, для этого не используется);
|
|
ограничений на максимальную длину строки нет (хотя в редакторе в стро-
ке помещается только 308 символов). Несколько операторов в одной стро-
ке разделяются двоеточиями:
MsgBox "Проверка 1": MsgBox "Проверка 2"
для удобства чтения можно объединить несколько физических строк в од-
ну логическую при помощи пробела и знака подчеркивания после него:
MsgBox "Сообщение пользователю" _
& vUserName
3. Данные. Классификация данных. Типы данных. Правила именования данных. Константы и переменные.
Данные. Данными можно назвать все, с чем будет оперировать программа. Данные различаются по типу представления и хранения – текстовые, числовые, графические, аудио и прочие.
Классификация данных обычно имеет место по нескольким категориям.
Первая – по способу организации.
1. Константы – те данные, которые не изменяются и присутствуют в тексте программы явно своей записью.
2. Переменные – те данные, которые программа изменяет, в тексте присутствуют своим именем.
3. Объекты, процедуры, функции, типы.
Изменяемые данные в проекте должны иметь имена. Имена собственных данных вводит разработчик кода, имена объектов VBA, их свойств и методов предопределены и неизменны.
Вторая – по типу.
Концепция типов определяет, что все данные обладают типом. Тип данного определяет способ хранения данного и его представления в памяти, а значит:
· диапазон значений, которые может принимать это данное;
· операции, которые могут быть выполнены над этим данным.
Фактически, если данное, это объект, то тип данного определяет свойства и методы этого данного.
|
|
Для любого объекта программы тип должен быть объявлен, лучше это делать явно.
Простые типы данных
Название | Описание | Диапазон значений | Правила записи |
Boolean | Логические значения | True False | |
Integer | Целые числа | +32767 – –32767 | |
Long | Целые числа двойной длины | ±2147483647 | |
Single | Вещественные числа | 12.7 –99.99 | |
Double | Вещественные числа двойной длины | ||
Currency | Числа в денежном формате | ||
Date | Значения даты и времени | 1.01.100 – 31.12.9999 | |
String | Строковые переменные | 2 млрд. символов | ″Пример строки″ |
Variant | Тип определяется содержимым. Когда переменная не описана, она будет Variant. Реально тип определен первым присвоенным значением. | ||
Object | Ссылки на объекты |
При создании программ VBA настоятельно рекомендуется определиться с
правилами, по которым будут присваиваться имена объектам — соглашение
об именовании. Чаще всего используется так называемое венгерское согла-
шение (в честь одного из программистов Microsoft, Charles Simonyi, венгра по
национальности):
имя переменной должно начинаться с префикса, записанного строчными
буквами. Префикс указывает, что именно будет храниться в этой пере-
менной:
• str (или s) — String, символьное значение;
• fn (или f) — функция;
• sub — процедура;
• c (или все буквы имени заглавные) — константа;
• b — Boolean, логическое значение (True или False);
• d — дата;
• obj (или o) — ссылка на объект;
• n — числовое значение;
имена функций, методов и каждое слово в составном слове должно начи-
наться с заглавной буквы:
MsgBox objMyDocument.Name
Sub CheckDateSub()
в ранних версиях VB не было слова Const, все константы определялись как
переменные, а для отличия их записывали заглавными буквами, между
словами ставили символ подчеркивания, например COMPANY_NAME.
Переменные — это контейнеры для хранения изменяемых данных. Без них не
обходится практически ни одна программа. Для простоты переменную можно
сравнить с номерком в гардеробе — вы сдаете в гардероб какие-то данные, в
ответ вам выдается номерок. Когда вам опять потребовались эти данные, вы
"предъявляете номерок" и получаете их. Пример работы с переменными в
VBA может выглядеть так:
Dim nMyAge As Integer
nMyAge = nMyAge + 10
MsgBox nMyAge
Перед работой с переменной настоятельно рекомендуется ее объявить. Объ-
явление переменной в нашем примере выглядит так:
Dim nMyAge As Integer
В переменных до присвоения им значений пользователем содержится:
в переменных всех числовых типов данных — 0;
в строковых переменных переменной длины — "" (строка нулевой
длины);
в строковых переменных фиксированной длины — строка заданной длины
с символами ASCII 0 (эти символы на экран не выводятся);
в Variant — специальное пустое значение Empty. Произвести проверку на
это значение (т. е. было ли присвоено значение переменной или нет) мож-
но при помощи функции IsEmpty();
в Object — ничего (нет ссылки ни на один из объектов).
Константы — еще один контейнер для хранения данных, но, в отличие от
переменных, они не изменяются в ходе выполнения VBA-программы. Кон-
станты используют в следующих случаях:
код становится более читаемым, убираются потенциальные ошибки;
чтобы изменить какое-либо значение в коде (например, уровень налога),
это нужно сделать всего один раз — в объявлении константы.
В VBA константы определяются при помощи ключевого слова Const:
Const COMP_NAME As String = "Microsoft"
Главное отличие констант от переменных заключается в том, что при попыт-
ке изменить значение константы в теле процедуры будет выдано сообщение
об ошибке.
Константы очень удобны при работе с группами именованных элементов
(дни недели, месяцы, цвета, клавиши, типы окон и т. п.). Они позволяют ис-
пользовать в коде программы легко читаемые обозначения вместо трудноза-
|
|
поминаемых числовых кодов. Например, строки:
UserForm1.BackColor = vbGreen
и
UserForm1.BackColor = 65280
функционально одинаковы, но в чем смысл первой строки, догадаться гораз-
до легче.
В VBA встроено множество служебных констант: календарных, для работы с
файлами, цветами, формами, типами дисков и т. п. Просмотреть их можно
через справочную систему VBA: Microsoft Visual Basic Documentation |
Visual Basic Language Reference | Constants