Общие сведения о VBA

Содержание

Слайд 2

VBA это общее средство программирования для всего семейства MSOFFICE . Этот

VBA это общее средство программирования для всего семейства MSOFFICE . Этот

язык является произвольным от самостоятельной системы программирование Visual Basic (VB). Приложения разрабатываемые на VBA могут выполняться только в среде , поддерживающей VBA , а VB ориентирован на разработку автономных приложений. Их синтаксис и интерфейс практически одинаков.
VBScript предназначен для работы в Internet
Слайд 3

Общие сведения о VBA VBA - это версия визуального средства для

Общие сведения о VBA
VBA - это версия визуального средства для создания

приложений. VBA является объектно-ориентированным языком программирования. Ключевой идеей объектно-ориентированного программирования является объединение данных и используемых для их обработки функций в один объект
Слайд 4

ООсновные особенности VBA ∙ Наличие объектов (рабочие книги, рабочие листы, формы,

ООсновные особенности VBA
∙      Наличие объектов (рабочие книги, рабочие листы, формы,

и пр.). Можно сказать, что объект - это то, чем мы управляем с помощью программы на VBA. При конструировании объектов используются более мелкие объекты - элементы управления (кнопки, поля, надписи на форме и пр.). С другой стороны объекты объединяются в более крупные объекты - семейства (семейство полей таблицы, семейство таблиц БД и пр.). Таким образом семейство может состоять из объектов, а объект может содержать семейство.
Слайд 5

∙ Все объекты имеют сохраняемый набор свойств (характеристик), изменяя которые можно

∙        Все объекты имеют сохраняемый набор свойств (характеристик), изменяя которые можно

управлять объектом. Ссылка на свойство объекта дается в программе в виде
∙         
<имя объекта>.<свойство> = значение свойства
Слайд 6

Примеры Надпись на кнопке CommandButton1.Сaption = "Редактировать" Переименовать рабочий лист Worksheets(1).Name=”Итоги

Примеры
Надпись на кнопке
CommandButton1.Сaption = "Редактировать"
Переименовать рабочий лист
Worksheets(1).Name=”Итоги “
Сделать лист невидимым
Worksheets(2).Visible=False
Изменить

подпись приложения
Application.Caption=”Пример “
Слайд 7

∙ С каждым объектом связывается ряд методов (действий или процедур над

∙        С каждым объектом связывается ряд методов (действий или процедур над

объектом). Один и тот же метод может использоваться для обработки различных объектов. Указание метода в программе дается в виде
∙         
<имя объекта>.<метод>
Слайд 8

Примеры Добавить рабочий лист WorkSheets(10).Add Удалить рабочий лист WorkSheet(3).Delete Удалить строку WorkSheets(1).Rows(3).Delete

Примеры
Добавить рабочий лист
WorkSheets(10).Add
Удалить рабочий лист
WorkSheet(3).Delete
Удалить строку
WorkSheets(1).Rows(3).Delete

Слайд 9

∙ Программа на VBA в отличие от традиционных систем программирования не

 
∙     Программа на VBA в отличие от традиционных систем программирования не требует

запуска. Ее выполнение инициируется наступлением какого-либо события (открытие формы) или действия пользователя (1с по кнопке).
∙        В приложении нет управляющей программы, а есть набор процедур обработки событий. Порядок выполнения процедур зависит от последовательности возникновения событий. Событие действие, распознаваемое объектом
∙       
Слайд 10

В простых приложениях применение программ VBA ограничивается созданием процедур обработки событий

В простых приложениях применение программ VBA ограничивается созданием процедур обработки событий

и простых процедур – функций, используемых в приложениях.
Слайд 11

Как правило программа на VBA состоит из нескольких подпрограмм и функций.

Как правило программа на VBA состоит из нескольких подпрограмм и функций.

Описание этих программных единиц хранится в модулях. Модули входят составными частями в проекты. Проекты хранятся в файлах документов приложений.
Слайд 12

Приложение Модуль1 Модуль2 Модуль3 ….. Описание Процедура1 Процедура2 Процедура3 ……. Структура программы

Приложение

Модуль1
Модуль2
Модуль3
…..

Описание
Процедура1
Процедура2
Процедура3
…….

Структура программы

Слайд 13

Слайд 14

Шаблон процедуры Модуль рабочего листа Браузер объектов Окно свойств

Шаблон процедуры

Модуль рабочего листа

Браузер объектов

Окно свойств

Слайд 15

Слайд 16

Структура процедуры Sub(Function) Имя([параметры]) Описание переменных (Dim, Static) ……. [exit Sub(Function)] досрочный выход …… End Sub(Function)

Структура процедуры

Sub(Function) Имя([параметры])
Описание переменных (Dim, Static)
<Оператор1>
<Оператор2>
…….
[exit Sub(Function)] досрочный выход
……
<ОператорN>
End Sub(Function)

Слайд 17

Описание переменных Dim As Dim I As Integer, J As Integer

Описание переменных

Dim <имя переменной>As <тип данных>
Dim I As Integer, J

As Integer
Dim Фамилия As String
Некорректное описание
Dim X,Y,Z As Integer
Слайд 18

Область определения переменных Public-общая Private-только из своего модуля Dim –внутри процедуры

Область определения переменных

Public-общая
Private-только из своего модуля
Dim –внутри процедуры
Static – только внутри

процедуры, но при выходе из процедуры значение переменной сохраняется
Слайд 19

Приложение Проект Модуль Процедура Public Private, Dim Dim Static

Приложение

Проект

Модуль

Процедура

Public

Private, Dim

Dim
Static

Слайд 20

Для преобразования одних типов данных в другие можно использовать встроенные функции CStr, Cint, CLng, CDate

Для преобразования одних типов данных в другие можно использовать встроенные функции

CStr, Cint, CLng, CDate
Слайд 21

Константы Константа всегда имеет постоянное значение. При программировании на VBA используются

Константы

Константа всегда имеет постоянное значение.
При программировании на VBA используются следующие

типы констант
Встроенные (VbOk, VbNo, VbCancel) (содержится в библиотеке типов)
Системные (True, False, Null)
Пользовательские
Пример описания пользовательской константы
Const MyCon As Integer=100
Слайд 22

Примеры встроенных функций Ввод InputBox(сообщение[,заголовок] [,значение по умолчанию]) Вывод MsgBox(сообщение [,кнопки ] [,заголовок])

Примеры встроенных функций 
Ввод
InputBox(сообщение[,заголовок] [,значение по умолчанию])
 Вывод
MsgBox(сообщение [,кнопки ] [,заголовок])

Слайд 23

Встроенные функции VBA Стандартные диалоговые окна Окно сообщения MsgBox сообщение, атрибуты, заголовок Пример Msgbox “Good morning”

Встроенные функции VBA Стандартные диалоговые окна

Окно сообщения
MsgBox сообщение, атрибуты, заголовок
Пример
Msgbox “Good

morning”
Слайд 24

Окно сообщения MsgBox сообщение, атрибуты заголовок При вводе функции появляется подсказка,

Окно сообщения MsgBox сообщение, атрибуты заголовок

При вводе функции появляется подсказка,
позволяющая выбирать параметры

из списка или вводить их вручную
Слайд 25

Окно сообщения MsgBox сообщение, атрибуты, заголовок Второй параметр позволяет задать вид окна Msgbox “Good morning”,vbInformation

Окно сообщения MsgBox сообщение, атрибуты, заголовок

Второй параметр позволяет задать вид окна
Msgbox “Good

morning”,vbInformation
Слайд 26

Окно сообщения MsgBox сообщение, атрибуты, заголовок Второй параметр позволяет задать вид окна Msgbox “Good morning”,vbExclamation

Окно сообщения MsgBox сообщение, атрибуты, заголовок

Второй параметр позволяет задать вид окна
Msgbox “Good

morning”,vbExclamation
Слайд 27

Окно сообщения MsgBox сообщение, атрибуты, заголовок Второй параметр позволяет задать вид окна Msgbox “Good morning”,vbCritical

Окно сообщения MsgBox сообщение, атрибуты, заголовок

Второй параметр позволяет задать вид окна
Msgbox “Good

morning”,vbCritical
Слайд 28

Окно сообщения MsgBox сообщение, атрибуты, заголовок Третий параметр позволяет задать заголовок окна Msgbox “Good morning”,vbInformation,”Тестирование MsgBox”

Окно сообщения MsgBox сообщение, атрибуты, заголовок

Третий параметр позволяет задать заголовок окна
Msgbox “Good

morning”,vbInformation,”Тестирование MsgBox”
Слайд 29

Окно сообщения может также вызываться при помощи функции – возвращаемое значение

Окно сообщения может также вызываться при помощи функции – возвращаемое значение

зависит от кнопки, нажатой пользователем. Синтаксис функции совпадает
Dim rc As Integer ‘ код возврата
Rc =MsgBox (сообщение, атрибуты, заголовок)
Обратите внимание на скобки.
Слайд 30

Функция Rc =MsgBox (сообщение, атрибуты, заголовок) RC=(MsgBox "Good morning!", vbInformation +

Функция Rc =MsgBox (сообщение, атрибуты, заголовок)

RC=(MsgBox "Good morning!", vbInformation + vbOKCancel,

_
" Тестирование MsgBox“)
(Знак “_” используется для переноса на следующую строку)
Значения констант можно складывать для достижения требуемого результата
Слайд 31

Пример программы Private Sub CommandButton1_Click() Dim Rc As Integer Rc =

Пример программы

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(Сообщение, заголовок, значение

Окно Ввода

Dim Rc As Integer
Rc = InputBox(Сообщение, заголовок, значение по умолчанию)
Пример
Rc

= InputBox(“Введите имя”)
Слайд 33

Окно Ввода InputBox(Сообщение, заголовок, значение по умолчанию Пример Rc = InputBox(“Введите имя”,”Знакомство”)

Окно Ввода InputBox(Сообщение, заголовок, значение по умолчанию

Пример
Rc = InputBox(“Введите имя”,”Знакомство”)

Слайд 34

Окно Ввода InputBox(Сообщение, заголовок, значение по умолчанию Пример Rc = InputBox(“Введите имя”,”Знакомство”,”Наташа”)

Окно Ввода InputBox(Сообщение, заголовок, значение по умолчанию

Пример
Rc = InputBox(“Введите имя”,”Знакомство”,”Наташа”)

Слайд 35

Пример программы Private Sub CommandButton1_Click() Dim NameS As String, Surname As

Пример программы

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

Пример программы

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 ограничивается созданием процедур обработки событий

В простых приложениях применение программ VBA ограничивается созданием процедур обработки событий

и простых процедур – функций, используемых в приложениях.
Слайд 38

Слайд 39

Процедура программы Могут вызываться из других процедур по имени. После выполнения

Процедура программы

Могут вызываться из других процедур по имени. После выполнения подпрограммы

управление передается в приложение или процедуру, которая ее вызывала. НЕ МОЖЕТ ИСПОЛЬЗОВАТЬСЯ В ВЫРАЖЕНИИ
Слайд 40

[Public| Private][Static] Sub [(список аргументов )] [ ] [Exit Sub] [ ] End Sub

[Public| Private][Static] Sub <имя>[(список аргументов )] <объявление переменных> [<инструкции>] [Exit Sub] [<инструкции>] End Sub

Слайд 41

Public –общая, т.е. Доступная для всех других процедур во всех модулях

Public –общая, т.е. Доступная для всех других процедур во всех модулях

(по умолчанию) Private- доступна только в том модуле, в котором она описана Static – значения локальных переменных сохраняются между вызовами этой процедуры Exit Sub – немедленное завершение процедуры Список аргументов – список переменных,которые передаются процедуре при вызове
Слайд 42

Частный случай – процедура обработки событий . Это процедура типа Sub,

Частный случай – процедура обработки событий . Это процедура типа Sub,

связанная с конкретным элементом управления и конкретным событием. Автоматически выполняется в ответ на событие
Слайд 43

Функции При вызове функции имя функции выступает в роли переменной, содержащей

Функции

При вызове функции имя функции выступает в роли переменной, содержащей вычисленное

значение.
Функции VBA как правило располагают списком параметров и не могут использоваться для обработки событий или в качестве программных макросов
Слайд 44

Основная разница между функцией и процедурой- Функция может возвращать значение , а подпрограмма нет

Основная разница между функцией и процедурой- Функция может возвращать значение ,

а подпрограмма нет
Слайд 45

Общее между функцией и процедурой Содержат операторы VBA, которые выполняют операции

Общее между функцией и процедурой

Содержат операторы VBA, которые выполняют операции или

вычисляют значения
Могут принимать на вход аргументы
Могут вызываться из других процедур
Слайд 46

[Public| Private][Static] Function [(список аргументов )] As [ ] = [Exit

[Public| Private][Static] Function <имя функции>[(список аргументов )] As <тип данных> <объявление переменных> [<инструкции>] <имя

функции> =<выражение> [Exit Function] [<инструкции>] <имя функции> =<выражение> End Function
Слайд 47

а b c

а

b

c

Слайд 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 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 состоит из нескольких подпрограмм и функций.

Как правило программа на VBA состоит из нескольких подпрограмм и функций.

Описание этих программных единиц хранится в модулях. Модули входят составными частями в проекты. Проекты хранятся в файлах документов приложений.
Слайд 50

Приложение Модуль1 Модуль2 Модуль3 ….. Описание Процедура1 Процедура2 Процедура3 ……. Структура программы

Приложение

Модуль1
Модуль2
Модуль3
…..

Описание
Процедура1
Процедура2
Процедура3
…….

Структура программы