
- •If условие then инструкции
- •If условие then
- •Программирование в Microsoft Office. Руководство по Visual Basic for Applications к. Гетц, bhv, 2000. -384с.
- •Автоматизация Microsoft Access с помощью vba - м. Гандерлой, Вильямс, 2006 – 416с.
- •Access 2003 - Самоучитель с примерами. А.Ю. Гончаров, Кудиц - образ, 2004.-272с.
Вопросы по курсу "Разработка и стандартизация ПС и ИТ."
За 2010-2011 учебный год (вечернее отделение)
Теоретическая часть
Основные понятия языка VBA.
VBA это общее средство программирования для всего семейства MSOFFICE . Этот язык является произвольным от самостоятельной системы программирование Visual Basic (VB).
Приложения разрабатываемые на VBA могут выполняться только в среде , поддерживающей VBA
Структура:
Применение:
VBA - это версия визуального средства для создания приложений. VBA является объектно-ориентированным языком программирования. Объектно-ориентированное программирование - это объединение данных и используемых для их обработки функций в один объект
VBA. Понятие объекта. Свойства объекта. Методы, применяемые к объекту.
(рабочие книги, рабочие листы, формы, кнопки и пр.). Можно сказать, что объект - это то, чем мы управляем с помощью программы на VBA.
При конструировании объектов используются более мелкие объекты - элементы управления (кнопки, поля, надписи на форме и пр.).
С другой стороны объекты объединяются в более крупные объекты - семейства (семейство полей таблицы, семейство таблиц БД и пр.).
Таким образом семейство может состоять из объектов, а объект может содержать семейство
Все объекты имеют сохраняемый набор свойств (характеристик), изменяя которые можно управлять объектом. Ссылка на свойство объекта дается в программе в виде: <имя объекта>.<свойство> = значение свойства
С каждым объектом связывается ряд методов (действий или процедур над объектом). Один и тот же метод может использоваться для обработки различных объектов. Указание метода в программе дается в виде: <имя объекта>.<метод>
Примеры:
Добавить рабочий лист
WorkSheets(10).Add
Удалить рабочий лист
WorkSheet(3).Delete
Удалить строку
WorkSheets(1).Rows(3).Delete
В Accses e
Скрыть поле
Me.Pole.Visible = False
Установка фокуса
Me.Pole1.SetFocus
VBA. Виды алгоритмических структур. Алгоритмические конструкции языка.
Структура Ветвления ( IF ... THEN ... [ELSE] )
алгоритмическая структура, в которой выполнение того или иного шага зависит от истинности условия (да или нет).
Говорят, что структура «ветвление» записана в полной форме, если в ней присутствуют действия (операторы), как для случая истинного условия, так и для его ложности.
Линейная структура
- алгоритмическая структура, выполняющая последовательность действий друг за другом без каких-либо условий, называется линейной структурой (последовательностью)
Циклы - алгоритмическая конструкция, в которой многократно выполняется одна и та же последовательность шагов, называемая телом цикла.
Каждое однократное исполнение цикла называется итерацией.
Если тело цикла будет выполнено N раз, говорят, что произведено N итераций.
Цикл с параметром или арифметический
Циклы с заранее известным количеством повторений
Итерационные циклы с неизвестным количеством повторений:
Цикл с предусловием
циклы с проверкой условия перед выполнением очередной итерации
Цикл с постусловием
циклы с проверкой условия после выполнения очередной итерации
For <счетчик> = <начало> To <конец> [ Step шаг ]
<Блок Инструкций>
[Exit For]
<Блок Инструкций>
Next <счетчик >
Начало, конец, шаг - выражения.
Шаг может быть отрицательным.
Если шаг не указан, то он равен 1
Exit For – выход из цикла
VBA. Использование процедур функций и процедур подпрограмм.
В простых приложениях применение программ VBA ограничивается созданием процедур обработки событий и простых процедур – функций, используемых в приложениях.
Константы и переменные. Раздел описания переменных. Область видимости переменных и констант.
Описание переменных
Dim <имя переменной>As <тип данных>
Dim I As Integer, J As Integer
Dim Фамилия As String
Неправильное описание
Dim X,Y,Z As Integer
Sub(Function) Имя([параметры])
Описание переменных (Dim, Static)
<Оператор1>
<Оператор2>
VBA. Модули класса. Стандартные модули.
Модуль – объект приложения, содержанием которого являются процедуры на языке VBA.
Стандартный модуль представляет собой отдельный объект, в котором хранится текст программы, используемой в данном приложении
Стандартные модули, содержат общие процедуры, которые могут использоваться в разных местах приложения, и не связаны с конкретным объектом, формой и т.д.
Модуль класса содержит описание объекта и процедуры, используемые для создания объектов, изменения значений свойств объектов и выполнения определённых действий над объектами.
Модули класса связаны с определённым объектом: рабочей книгой, листом, формой, отчётом и содержат:
Процедуры обработки событий
Общие процедуры, которые могут использоваться обработчиками событий
VBA. Алгоритмические конструкции структуры ветвления. Примеры
- Однострочная запись
If условие then инструкции
Например,
IF a > 10 THEN a = a + 1 : b = b + a
- Многострочная запись
If условие then
[инструкции_да]
END IF
Пример
IF a > 10 AND a < = 100 THEN
MsgBox "Вы правильно ввели число"
b = a ^ 2
END IF
- Function condition ( )
Dim a As Long
a = InputBox ("Введите число")
IF a > 10 AND a < = 100 THEN
MsgBox "Вы правильно ввели число”
MsgBox " Ваше число " & a
ELSEIF a < 10 THEN
MsgBox "Введено слишком маленькое число“
ELSE
MsgBox "Введено слишком большое число“
END IF
End Function
VBA. Алгоритмическая конструкция выбор. Примеры
Структура управления Выбор ( SELECT CASE ... END SELECT )
Данную структуру целесообразно использовать, когда требуется сделать выбор из более, чем двух альтернатив.
Пример1
Case 1 To 4
Case 1 , 4, 6
Саse is > D
SELECT CASE выражение
[ CASE значение 1_выражения (условие)
[инструкции_1]]
[ CASE значение2_выражения (условие)
[инструкции_2]]
. . .
[ CASE ELSE
[инструкции_иначе]]
END SELECT
Пример2
Function excase( )
Dim a As Integer, b As Integer, c As Integer, d As Integer
a = InputBox ("Введите число")
Select Case a
Case 1 To 3
MsgBox "Введено число меньше четырех"
Case 4
MsgBox "Введено число 4"
Case Else
MsgBox "Введено число больше четырех"
End Select
End Function
Пример3
Function Sale()
Dim Number As Integer
Number=InputBox(“Введите количество товара”)
Select Case Number
Case Is < 10
MsgBox “Скидки нет “
Case 10 To 20
MsgBox “скидка 2% “
Case 21, 22, 23
MsgBox “скидка 3% “
Case 24 To 50
MsgBox “скидка 4% “
Case Else
MsgBox “скидка 5% “
End Select
End Function
VBA. Алгоритмические конструкции For…next. Примеры. Область применения.
Повторяет выполнение группы инструкций пока счетчик изменяется от начального до конечного значения
For <счетчик> = <начало> To <конец> [ Step шаг ]
<Блок Инструкций>
[Exit For]
<Блок Инструкций>
Next <счетчик >
Начало, конец, шаг - выражения.
Шаг может быть отрицательным.
Если шаг не указан, то он равен 1
Exit For – выход из цикла
Пример1: Программа возведение числа в степень
Dim I As Integer, N As Integer, K As Integer, L As Integer
K=InputBox(“Введите число “,” Возведение в степень “)
N=InputBox(“Введите степень “,” Возведение в степень “)
L=1
For I=1 To N
L=L*K
Next I
MsgBox “Результат= ” & L
Пример2: печать строки 10 раз
Dim MyString As String, Stra As String, Strb As String
Dim I As Integer
'Возврат каретки , перевод строки
Stra = Chr(13) & Chr(10) или vbCrLf
MyString = "Самая обаятельная и привлекательная "
For I = 1 To 10
Strb = Strb & Stra & MyString
Next I
MsgBox Strb
6. VBA. Алгоритмические конструкции Do…Loop. Примеры.
Циклы с управляющим условием (с предусловие и постусловием)
В циклах с управляющим условием инструкция или группа инструкций повторяется до тех пор , пока не будет выполнено управляющее условие. В VBA это циклы:
WHILE…WEND и DO…LOOP
Условие проверяется до начала цикла
Do While условие
[Блок Инструкций]
[Exit Do]
[Блок Инструкций]
Loop
Do Until условие
[Блок Инструкций]
[Exit Do]
[Блок Инструкций]
Loop
Условие проверяется после цикла
Do
[Блок Инструкций]
[Exit Do]
[Блок Инструкций]
Loop While <условие>
Do
[Блок Инструкций]
[Exit Do]
[Блок Инструкций]
Loop Until <условие>
Пример1
Dim N As Integer
Do While N < 10
N = N + 2
MsgBox N
Loop
Пример2
Dim N As Integer
Do
N = N + 2
MsgBox N
Loop Until N = 10
Пример: Вывод строки ? раз
VBA. Алгоритмические конструкция While … wend . Примеры.
Оператор While … Wend выполняет последовательность инструкций пока заданное условие имеет значение ИСТИНА
While условие
[Инструкции]
Wend
Пример Бросается игральная кость до тех, пор пока не выпадет 6 очков. При выпадение 6 очков игра заканчивается и выдается сообщение, указывающее сколько попыток было совершено.
Условие проверяется до начала цикла
Do Until условие
[Блок Инструкций]
[Exit Do]
[Блок Инструкций]
Loop
Условие проверяется после цикла
Do
[Блок Инструкций]
[Exit Do]
[Блок Инструкций]
Loop While <условие>
Dim N As Integer
Do
N = N + 2
MsgBox N
Loop While Not N = 10
Типы и виды ошибок при работе с VBA.
Окно отладки программ c использованием панели Debug
Практическая часть
Задачи с использованием линейной структуры
Задачи на структуру ветвления
Задачи на конструкцию Выбор
Задачи на использование конструкции For…next
Задачи на использование конструкции Do…Loop
Задачи на использование конструкции While … wend
Пример отладки программы в пошаговом режиме с применением окон отладки и панели Debug.
Литература для подготовки к экзамену: