- •Теоретические сведения
- •Пункты меню редактора vba
- •Среда Microsoft Visual Basic Access
- •Создание модуля vba
- •Язык Visual Basic for Applications (vba).
- •Переменные и оператор присваивания
- •Правила присвоения имен в языке Visual Basic
- •Инструкции
- •Создание нового модуля
- •Соглашения по синтаксису
- •Управляющие конструкции
- •Процедуры и функции
- •Управление выполнением программы
- •Примеры управления выполнением программы
- •Обработка ошибок
- •Математические операторы
- •Контрольные Вопросы:
- •Задания:
- •Контрольные Вопросы:
- •Как объявить переменную в vba?
- •Какие основные типы данных используются в vba?
- •Чем процедура отличается от функции?
- •Как объявить процедуру и как функцию?
- •Как происходит вызов процедуры или функции?
Обработка ошибок
Одна из наиболее мощных и привлекательных характеристик VBA − возможность перехватывать любые ошибки, анализировать их и предпринимать корректирующие действия.
Инструкция on error используется для включения или отключения режима перехвата ошибок в текущей процедуре. Синтаксис:
On Error {GoTo идентификатор-строки | Resume Next | GoTo 0}
Включение режима перехвата ошибок в текущей процедуре с продолжением ее работы при возникновении ошибки осуществляется инструкцией On Error Resume Next.
Включение режима перехвата ошибок с передачей управления инструкции с меткой My Error в случае возникновения ошибки:
On Error GoTo MyError:
Отключение перехвата ошибок в текущей процедуре:
On Error GoTo 0
Математические операторы
Математические операторы в Visual Basic:
() − скобки
^ − возвести в степень
* − умножение
/ − деление
+ − плюс
– − минус
Функции:
Sqr(число) - вычесть корень (англ. square root);
Fix(число) - обрезает все числа после запятой, округление.
Контрольные Вопросы:
Как объявить переменную в VBA?
Какие основные типы данных используются в VBA?
Для чего предназначен тип Variant?
Какие переменные имеют наибольшую область видимости?
Как объявляются константы?
Перечислите основные управляющие конструкции и их синтаксис.
Чем процедура отличается от функции?
Как объявить процедуру и как функцию?
Как происходит вызов процедуры или функции?
Задания:
Написать функцию сложения числа с константой.
Написать процедуру возведения в степень.
Написать функцию, считающую факториал числа.
Освоить отладку кода в отладчике (просмотр значений переменных, порядок выполнения команд, точки останова).
Используя логические структуры (IF, IF-ELSE, SELECT-CASE), написать процедуру, которая по заданному номеру месяца определяет пору года.
Используя циклы, написать процедуру, которая находит максимальное число из 10 введенных.
Найти максимальное и минимальное среди массива введенных чисел и подсчитать их сумму.
В процедуре из п.2 вызвать процедуру из п.5 (Call).
Написать процедуру с использованием инструкции GoTo, Exit, Stop.
Продемонстрировать работу с математическими операторами.
Контрольные Вопросы:
Как объявить переменную в vba?
Для этого используется оператор Dim.
Dim <имяПеременной> [Аs<типДанных>]
Какие основные типы данных используются в vba?
Название типа
Размер в байтах
Описание и диапазон значения
Byte
1
Для хранения положительного числа от 0 до 255
Boolean
2
Для хранения логических значений; может содержать только значения True и False
Date
8
Для хранения комбинации информации о дате и времени. Диапазон может быть от 1 января 100 года до 31 декабря 9999 года. Диапазон времени 00:00:00 до 23:59:59.
Integer
2
Все целые числа от -32 768 до 32 767
Long
4
Все целые числа от - 2 147 483 648 до 2 147 483 647
Single
4
Отрицательные числа от -3.4х1038 до -1.4х10-45; Положительные числа от 1.4х10-45 до 3.4х1038
String
1
Используется для хранения текста. Может содержать от 0 символов до приблизительно 2 миллиардов символов
Variant
16 байт + 1 байт/символ
Тип Variant может хранить любой другой тип данных. Диапазон для данных типа Variant зависит от фактически сохраняемых данных. В случае текста диапазон соответствует строковому типу; в случае чисел диапазон такой, как у типа Double
Double
8
Отрицательные числа от -1.8х10308 до -4.9х10-324; Положительные числа от 4.9х10-324 до 1.8х10308
Currency
4
Тип Currency используется для хранения чисел, когда точность крайне важна, что бывает при вычислениях с денежными единицами
Для чего предназначен тип Variant?
Тип Variant может хранить любой другой тип данных. Диапазон для данных типа Variant зависит от фактически сохраняемых данных. В случае текста диапазон соответствует строковому типу; в случае чисел диапазон такой, как у типа Double
Какие переменные имеют наибольшую область видимости?
Double,Long
Как объявляются константы?
Const <имяКонстанты> [As <типДанных>] = <выражение>
Перечислите основные управляющие конструкции и их синтаксис.
Call
Call имя подпрограммы [(<аргументы>)]
Do…Loop
Do [{While | Until} <условие>]
[<инструкции тела цикла>]
[Exit Do]
[<инструкции тела цикла>]
Loop
For Next
For счетчик = начальное значение
То конечное значение [Step шаг]
[<инструкции тела цикла>]
[Exit For]
[ <инструкции тела цикла> ]
Next [счетчик]
For Each…Next
For Each элемент In группа
[<инструкции тела цикла>]
[Exit For]
[ <инструкции тела цикла> ]
Next [элемент]
GoTo
GoTo {метка | номер строки}
If Then Else
If <условие 1> Then
[<инструкции процедуры 1>]
[Elself <условие-2> Then
[<инструкции процедуры 2>]] ...
[Else]
[<инструкции процедуры n>] ]
End If
Select...Case
Select Case <проверяемое выражение>
[Case <список сравнения 1>
[<инструкции процедуры 1>]]
…
[Case Else
[<инструкции процедуры n>]]
End Select
Stop
Stop
While Wend
While <условие>
[<инструкции тела цикла>]
Wend
With
With <объект>
[<инструкции>]
End With
