Слайд 2
VBA это общее средство программирования для всего семейства
MSOFFICE . Этот язык является произвольным от самостоятельной системы
программирование Visual Basic (VB). Приложения разрабатываемые на VBA могут выполняться только в среде , поддерживающей VBA , а VB ориентирован на разработку автономных приложений. Их синтаксис и интерфейс практически одинаков.
VBScript предназначен для работы в Internet
Слайд 3
Общие сведения о VBA
VBA - это версия визуального
средства для создания приложений. VBA является объектно-ориентированным языком программирования.
Ключевой идеей объектно-ориентированного программирования является объединение данных и используемых для их обработки функций в один объект
Слайд 4
ООсновные особенности VBA
∙ Наличие объектов (рабочие книги,
рабочие листы, формы, и пр.). Можно сказать, что объект
- это то, чем мы управляем с помощью программы на VBA. При конструировании объектов используются более мелкие объекты - элементы управления (кнопки, поля, надписи на форме и пр.). С другой стороны объекты объединяются в более крупные объекты - семейства (семейство полей таблицы, семейство таблиц БД и пр.). Таким образом семейство может состоять из объектов, а объект может содержать семейство.
Слайд 5
∙ Все объекты имеют сохраняемый набор свойств (характеристик),
изменяя которые можно управлять объектом. Ссылка на свойство объекта
дается в программе в виде
∙
<имя объекта>.<свойство> = значение свойства
Слайд 6
Примеры
Надпись на кнопке
CommandButton1.Сaption = "Редактировать"
Переименовать рабочий лист
Worksheets(1).Name=”Итоги
“
Сделать лист невидимым
Worksheets(2).Visible=False
Изменить подпись приложения
Application.Caption=”Пример “
Слайд 7
∙ С каждым объектом связывается ряд методов (действий
или процедур над объектом). Один и тот же метод
может использоваться для обработки различных объектов. Указание метода в программе дается в виде
∙
<имя объекта>.<метод>
Слайд 8
Примеры
Добавить рабочий лист
WorkSheets(10).Add
Удалить рабочий лист
WorkSheet(3).Delete
Удалить строку
WorkSheets(1).Rows(3).Delete
Слайд 9
∙ Программа на VBA в отличие от традиционных систем
программирования не требует запуска. Ее выполнение инициируется наступлением какого-либо
события (открытие формы) или действия пользователя (1с по кнопке).
∙ В приложении нет управляющей программы, а есть набор процедур обработки событий. Порядок выполнения процедур зависит от последовательности возникновения событий. Событие действие, распознаваемое объектом
∙
Слайд 10
В простых приложениях применение программ VBA ограничивается созданием
процедур обработки событий и простых процедур – функций, используемых
в приложениях.
Слайд 11
Как правило программа на VBA состоит из нескольких
подпрограмм и функций. Описание этих программных единиц хранится в
модулях. Модули входят составными частями в проекты. Проекты хранятся в файлах документов приложений.
Слайд 12
Приложение
Модуль1
Модуль2
Модуль3
…..
Описание
Процедура1
Процедура2
Процедура3
…….
Структура программы
Слайд 14
Шаблон процедуры
Модуль рабочего листа
Браузер объектов
Окно свойств
Слайд 16
Структура процедуры
Sub(Function) Имя([параметры])
Описание переменных (Dim, Static)
…….
[exit Sub(Function)] досрочный
выход
……
End Sub(Function)
Слайд 17
Описание переменных
Dim As
Dim I
As Integer, J As Integer
Dim Фамилия As String
Некорректное описание
Dim
X,Y,Z As Integer
Слайд 18
Область определения переменных
Public-общая
Private-только из своего модуля
Dim –внутри процедуры
Static
– только внутри процедуры, но при выходе из процедуры
значение переменной сохраняется
Слайд 19
Приложение
Проект
Модуль
Процедура
Public
Private, Dim
Dim
Static
Слайд 20
Для преобразования одних типов данных в другие можно
использовать встроенные функции CStr, Cint, CLng, CDate
Слайд 21
Константы
Константа всегда имеет постоянное значение.
При программировании на
VBA используются следующие типы констант
Встроенные (VbOk, VbNo, VbCancel) (содержится
в библиотеке типов)
Системные (True, False, Null)
Пользовательские
Пример описания пользовательской константы
Const MyCon As Integer=100
Слайд 22
Примеры встроенных функций
Ввод
InputBox(сообщение[,заголовок] [,значение по умолчанию])
Вывод
MsgBox(сообщение [,кнопки ]
[,заголовок])
Слайд 23
Встроенные функции VBA
Стандартные диалоговые окна
Окно сообщения
MsgBox сообщение,
атрибуты, заголовок
Пример
Msgbox “Good morning”
Слайд 24
Окно сообщения
MsgBox сообщение, атрибуты заголовок
При вводе функции появляется
подсказка,
позволяющая выбирать параметры из списка или вводить их вручную
Слайд 25
Окно сообщения
MsgBox сообщение, атрибуты, заголовок
Второй параметр позволяет задать
вид окна
Msgbox “Good morning”,vbInformation
Слайд 26
Окно сообщения
MsgBox сообщение, атрибуты, заголовок
Второй параметр позволяет задать
вид окна
Msgbox “Good morning”,vbExclamation
Слайд 27
Окно сообщения
MsgBox сообщение, атрибуты, заголовок
Второй параметр позволяет задать
вид окна
Msgbox “Good morning”,vbCritical
Слайд 28
Окно сообщения
MsgBox сообщение, атрибуты, заголовок
Третий параметр позволяет задать
заголовок окна
Msgbox “Good morning”,vbInformation,”Тестирование MsgBox”
Слайд 29
Окно сообщения может также вызываться при помощи функции
– возвращаемое значение зависит от кнопки, нажатой пользователем. Синтаксис
функции совпадает
Dim rc As Integer ‘ код возврата
Rc =MsgBox (сообщение, атрибуты, заголовок)
Обратите внимание на скобки.
Слайд 30
Функция
Rc =MsgBox (сообщение, атрибуты, заголовок)
RC=(MsgBox "Good morning!",
vbInformation + vbOKCancel, _
" Тестирование MsgBox“)
(Знак “_” используется для
переноса на следующую строку)
Значения констант можно складывать для достижения требуемого результата
Слайд 31
Пример программы
Private Sub CommandButton1_Click()
Dim Rc As Integer
Rc =
MsgBox("Good morning!", vbInformation + vbOKCancel, "Тестирование MsgBox")
If Rc =
vbOk Then
MsgBox "Отлично! Продолжим работу"
Else
MsgBox "Увы! До скорой встречи"
End If
End Sub
Слайд 32
Окно Ввода
Dim Rc As Integer
Rc = InputBox(Сообщение, заголовок,
значение по умолчанию)
Пример
Rc = InputBox(“Введите имя”)
Слайд 33
Окно Ввода
InputBox(Сообщение, заголовок, значение по умолчанию
Пример
Rc = InputBox(“Введите
имя”,”Знакомство”)
Слайд 34
Окно Ввода
InputBox(Сообщение, заголовок, значение по умолчанию
Пример
Rc = InputBox(“Введите
имя”,”Знакомство”,”Наташа”)
Слайд 35
Пример программы
Private Sub CommandButton1_Click()
Dim NameS As String, Surname
As String
Dim Student As String
Dim rc As Integer
rc =
MsgBox("Good morning!", vbInformation + vbOKCancel, "Testing")
If rc = VbCancel Then
MsgBox "Увы! До скорой встречи"
Exit Sub
End If
MsgBox "Отлично! Продолжаем работу"
NameS = InputBox("Введите Ваше Имя", "Знакомство", "Маша")
Surname = InputBox("Введите Вашу фамилию", "Знакомство", "Петрова")
Student = Surname & " " & NameS
rc = MsgBox("Рады знакомству" & Student, vbExclamation + vbOKOnly, "Testing")
End Sub
Описание переменных
Начало и конец процедуры
Ветвление
Выход из процедуры
Слайд 36
Пример программы
Private Sub CommandButton1_Click()
Dim Wroom As Integer,
HRoom As Integer
Dim Sroom As Integer, stra As String
stra
= «вычисление площади комнаты"
Wroom = InputBox(«введите длину", stra, 1)
HRoom = InputBox(«введите ширину", stra, 1)
Sroom = Wroom * HRoom
MsgBox «площадь вашей комнаты = " & Sroom, vbInformation, stra
End Sub
Использование переменной в диалоговых окнах
Слайд 37
В простых приложениях применение программ VBA ограничивается созданием
процедур обработки событий и простых процедур – функций, используемых
в приложениях.
Слайд 39
Процедура программы
Могут вызываться из других процедур по имени.
После выполнения подпрограммы управление передается в приложение или процедуру,
которая ее вызывала. НЕ МОЖЕТ ИСПОЛЬЗОВАТЬСЯ В ВЫРАЖЕНИИ
Слайд 40
[Public| Private][Static] Sub [(список аргументов )]
[]
[Exit Sub]
[]
End
Sub
Слайд 41
Public –общая, т.е. Доступная для всех других процедур
во всех модулях (по умолчанию)
Private- доступна только в том
модуле, в котором она описана
Static – значения локальных переменных сохраняются между вызовами этой процедуры
Exit Sub – немедленное завершение процедуры
Список аргументов – список переменных,которые передаются процедуре при вызове
Слайд 42
Частный случай – процедура обработки событий .
Это
процедура типа Sub, связанная с конкретным элементом управления и
конкретным событием.
Автоматически выполняется в ответ на событие
Слайд 43
Функции
При вызове функции имя функции выступает в роли
переменной, содержащей вычисленное значение.
Функции VBA как правило располагают
списком параметров и не могут использоваться для обработки событий или в качестве программных макросов
Слайд 44
Основная разница между функцией и процедурой- Функция может
возвращать значение , а подпрограмма нет
Слайд 45
Общее между функцией и процедурой
Содержат операторы VBA, которые
выполняют операции или вычисляют значения
Могут принимать на вход аргументы
Могут
вызываться из других процедур
Слайд 46
[Public| Private][Static] Function [(список аргументов )] As
[]
=
[Exit Function]
[]
=
End Function
Слайд 48
Sub PIFAGOR(X,Y,Z)
Z=Sqr(x*x+y*y)
End Sub
Function FPIFAGOR(x,y)
FPIFAGOR=Sqr(x*x+y*y)
End Function
Подпрограмма
Функция
Вызов
Sub main( )
a= inputBox(“введите
катет1 “,”вычисление гипотенузы “)
b= inputBox(“введите катет2 “,”вычисление гипотенузы “)
Call
PIFAGOR(a, b, c) ‘ вызов подпрограммы
MsgBox(“гипотенуза= “ & c)
с=FPIFAGOR(a,b) ‘ вызов функции
MsgBox(“гипотенуза= “ & FPIFAGOR(a,b) )
End Sub
Слайд 49
Как правило программа на VBA состоит из нескольких
подпрограмм и функций. Описание этих программных единиц хранится в
модулях. Модули входят составными частями в проекты. Проекты хранятся в файлах документов приложений.
Слайд 50
Приложение
Модуль1
Модуль2
Модуль3
…..
Описание
Процедура1
Процедура2
Процедура3
…….
Структура программы