- •Лабораторная работа №1 Язык программирования vba. Основные понятия и область применения.
- •История развития вычислительной техники.
- •Что такое язык программирования и компьютерные программы.
- •Возникновение и развитие алгоритмического языка Basic
- •Преимущества и недостатки, область применения vba
- •Проектирование программы.
- •Реализация проекта. Добавление новой формы.
- •Тестирование программы. Запуск программы в редакторе vbа.
- •Отладка.
- •Контрольные понятия для изучения.
- •Порядок выполнения.
- •Лабораторная работа №3 Синтаксис языка программирования vba.
- •Создание второй процедуры.
- •Добавление программного кода в новую процедуру.
- •Диалоговые окна vba.
- •InputBox (сообщение [, заголовок] [, default] [, xpos] [, ypos])
- •Переменные. Типы данных
- •Константы
- •Операторы присваивания.
- •Арифметические выражения
- •Математические функции
- •Контрольные понятия для изучения.
- •Порядок выполнения.
- •Лабораторная работа №4 Синтаксис языка программирования vba (продолжение).
- •Логические выражения.
- •Оператор перехода
- •Конструкции принятия решений
- •Общий вид краткой формы оператора ветвления и одну строку:
- •If условие Then оператор [Else оператор]
- •Форма условного перехода if...Then...ElseIf…Else...End If
- •If условие1 Then
- •Синтаксис оператора условного перехода Select Case имеет вид:
- •Оператор цикла For… Next.
- •Конструкции Do While и Do Until.
- •Конструкция While … Wend.
- •Контрольные понятия для изучения.
- •Порядок выполнения.
- •Лабораторная работа №5 Синтаксис языка программирования vba (продолжение).
- •Массивы
- •Макрофункции для работы с массивом :
- •Контрольные понятия для изучения.
- •Порядок выполнения.
- •Практическая работа №1
- •Лабораторная работа №6 Разбор работы программы сортировки двумерного массива.
- •Програма сортування двовимірного масиву.
- •Контрольные понятия для изучения.
- •Порядок выполнения.
- •Лабораторная работа №7 Синтаксис языка программирования vba (продолжение).
- •Пользовательские процедуры
- •Описание пользовательской функции имеет следующий синтаксис:
- •Описание пользовательской подпрограммы имеет следующий синтаксис:
- •Контрольные понятия для изучения.
- •Порядок выполнения.
- •Лабораторная работа №8 Понятие объектно-ориентированного языка программирования. Объекты и события.
- •Понятие объекта.
- •Классы объектов и отдельные объекты.
- •Объектная модель
- •Контрольные понятия для изучения.
- •Порядок выполнения.
- •Лабораторная работа №9 Особенности применения vba в Microsoft Excel.
- •Объекты ole и ActiveX.
- •Объекты. Методы и свойства объектов.
- •Иерархия объектов. Ссылки на объект.
- •Методы.
- •Свойства.
- •Методы vba
- •Пример программы работы с ячейкой текущей книги Excel.
- •Контрольные понятия для изучения.
- •Порядок выполнения.
Переменные. Типы данных
Переменные в программировании имеют такой же смысл, как в математике. Перед тем, как использовать переменную, ее рекомендуется описать (объявить).
Синтаксис оператора описания переменной:
Dim переменная [As тип]
в этой конструкции:
Dim - ключевое слово, свидетельствующее о том, что объявляется переменная (dimension - размер);
переменная - имя объявляемой переменной;
As - ключевое слово, используемое при задании типа данных (as - как);
тип - тип данных для объявляемой переменной или (что то же самое) тип переменной.
Здесь и далее квадратными скобками выделяется необязательная часть конструкции (которая может отсутствовать).
Другими словами, имеются две конструкции оператора описания переменной:
Dim переменная
Dim переменная As тип
Таблица 3.2 – Тип данных VBA.
Тип данных |
Размер ячейки (В - байт) |
Значения переменной/константы или примечание |
Boolean (логический) |
2В |
True (истина, логическая единица) и False (ложь, логический нуль) |
Вуге (короткий целый беззнаковый) |
1В |
Целые числа от 0 до 255 |
Integer (целый) |
2В |
Целые числа от -32 768 до 32 767 |
Long (длинный целый) |
4В |
Целые числа от -2 147 483 648 до 2 147 483 647 |
Currency (денежный) |
8В |
Числа с четырьмя десятичными знаками от -922 337 203 685 477.5808 до 922 337 203 685 477.5807 |
Single (с плавающей точкой одинарной точности) |
4В |
Числа с дробной частью от -3.402823•1038 до -1.401298•10-45 для отрицательных чисел и от 1.401298 . 10-45 до 3.402823 . 1038 для положительных чисел |
Double (с плавающей точкой двойной точности) |
8В |
Числа с дробной частью от -1.79769313486231• 10308 до -4.94065645841247•10-324 для отрицательных чисел и от 4.94065645841247 . 10-324 до 1.79769313486232• 10308 для положительных чисел |
Date (дата) |
8В |
От 1 января 100 года до 31 декабря 9999 года |
String (строковый переменной длины) |
10В + 1В на символ |
Длина строки от 0 до 231 символов |
String (строковый постоянной длины) |
Задаётся при выполнении оператора Dim |
Длина строки от 1 до 216 символов |
Variant (универсальный) |
Для чисел 16В |
Значения соответствуют типу данных Boolean, Byte, Integer, Long, Currency, Single, Double или Date, определяемому автоматически |
|
Для строк 22В + 1В на символ |
Длина строки от 0 до 231 символов |
Object (объект) |
4В |
Используется при объявлении объектов; аналогичен типу Variant |
Когда при выполнении программы компьютер встречает оператор Dim, он выделяет переменной переменная часть своей оперативной памяти, которую в программировании принято называть ячейкой. Размер выделенной ячейки, исчисляемый в байтах, определяется типом переменной тип (Табл.3.2).
Одним оператором Dim можно описать несколько переменных, перечислив их через запятую. Пример:
Dim i As Byte, j As Integer, k As Integer
Типы данных Byte, Integer, Long, Currency, Single и Double называются числовыми типами данных. Согласно третьему столбцу таблицы 3.1:
в ячейке оперативной памяти компьютера, соответствующей переменной типа Byte, могут храниться только натуральные числа и нуль;
в ячейке, соответствующей переменной типа Integer или Long, могут храниться целые числа;
в ячейке, соответствующей переменной типа Currency, Single или Double, могут храниться числа с дробной частью.
Если при описании переменной программист не указывает тип данных (например, Dim W), То переменной (w) автоматически будет присвоен тип Variant. Это означает, что в ячейке, соответствующей этой переменной, Может храниться информация любого вида, т. е. тип данных Variant аналогичен формату "Общий" табличного процессора Ехсеl.
Рассмотрим оператор
Dim i, j As Integer
Этот оператор эквивалентен следующему:
Dim i As Variant, j As Integer
Если мы хотим, чтобы обе переменные ( i, j) имели тип Integer, то должны их описать так:
Dim i As Integer, j As Integer
или
Dim i As Integer
Dim j As Integer
В языках программирования ключевыми (служебными) словами называются такие слова, которые используются только в конструкциях языка. Ключевые слова нельзя использовать в качестве имен программ и переменных в программах. По умолчанию среда VBA настроена таким образом, что при наборе текста программы в окне кода, все ключевые слова выделяются синим цветом (комментарии выделяются зеленым цветом, синтаксические ошибки - красным).
Имя программы назначается ее разработчиком. Оно должно удовлетворять следующим условиям:
первый символ имени должен быть буквой;
имя может содержать только буквы, цифры и символ соединения "_";
имя не должно содержать более 255 символов.
Подчеркнем, что в имени программы нельзя использовать пробел. Если мы хотим, чтобы имя программы состояло из нескольких слов, то вместо пробела надо использовать знак соединения или каждое слово начинать с заглавной буквы.
Ограничения на имена переменных такие же, как на имена программ, причем регистр букв не имеет значения. Например, если объявлена переменная Alpha, а затем мы пытаемся объявить переменную alpha, то слово "Alpha" будет исправлено на "alpha". Однако, переменная "оса", набранные русскими и английскими буквами, являются разными переменными, и при выполнении программы им отводятся разные ячейки оперативной памяти.
Таблица 3.3 – функции преобразования типа данных.
Функция |
Возвращает тип |
Действие |
CBool |
Boolean |
Преобразует значение в булевый тип |
CByte |
Byte |
Преобразует значение в тип Byte |
CCur |
Currency |
Преобразует значение в тип Currency |
CDate |
Date |
Преобразует значение в Дату и Время |
CDbl |
Double |
Преобразует значение в тип Double |
CDec |
Decimal |
Преобразует значение в подтип Decimal типа Variant |
CInt |
Integer |
Преобразует значение в целый тип |
CLng |
Long |
Преобразует значение в длинное целое |
CSng |
Single |
Преобразует значение в тип Single |
CStr |
String |
Преобразует значение в строку |
CVar |
Variant |
Преобразует значение в тип Variant |
Таблица 3.4 – Греческий алфавит
Строчная буква |
Заглавная буква |
Произношение |
Латинское написание |
|
|
альфа |
alpha |
|
|
бета |
beta |
|
|
гамма |
gamma |
|
|
дельта |
delta |
|
|
эпсилон |
epsilon |
|
|
дзета |
zeta |
|
|
эта |
eta |
|
|
тета |
theta |
|
|
йота |
iota |
|
|
каппа |
kappa |
|
|
ламбда |
lambda |
|
|
мю |
mu |
|
|
ню |
nu |
|
|
кси |
xi |
|
|
омикрон |
omicron |
|
|
пи |
pi |
|
|
ро |
rho |
|
|
сигма |
sigma |
|
|
тау |
tau |
|
|
ипсилон |
upsilon |
|
|
фи |
phi |
|
|
хи |
chi |
|
|
пси |
psi |
|
|
омега |
omega |
