Similar presentations:
Объектно-ориентированное программирование (ООП)
1.
Объектно-ориентированноепрограммирование (ООП)
2.
Программирование – это не кодирование, а веськомплекс работ по созданию приложения: от
постановки задачи до отладки программного
продукта и создания документации.
3.
1.2.
3.
VBA – это интегрированная среда визуального
программирования,
позволяющая
создавать
современные событийно-объектно-ориентированные
приложения
с
унифицированным
графическим
интерфейсом.
Языковые средства VBA позволяют освоить типовые
методы и приёмы разработки программных процедур.
VBA является общей языковой платформой для всех
приложений MS Office и обычно рассматривается во
взаимосвязи с основным приложением MS Excel:
создаваемое приложение встраивается в книгу Excel.
4.
В основе объектно-ориентированного программирования(ОПП), управляемого событиями, лежат понятия класс,
инкапсуляция, объект, событие.
В качестве объектов могут рассматриваться конкретные
предметы, а также абстрактные или реальные сущности.
Например, объектами могут быть покупатель, фирма,
производящая товары, банк, заказ на поставку и др.
• В частном случае, в VBA объектом являются элементы
пользовательского интерфейса, которые создаются на
Форме пользователя (UserForm) или на рабочем листе, а
также рабочая книга и ее элементы.
5.
Доступ к объекту при ООП возможен только черезего методы и свойства.
• Методы – это программные процедуры,
реализующие некоторый алгоритм, который
определяет взаимодействие объектов класса с
внешней средой.
• Свойства представляют собой характеристики
(атрибуты), присущие объектам (например,
размер шрифта, название и др.)
6.
Объект, с одной стороны обладает определеннымисвойствами, которые характеризуют его состояние
в данный момент времени, а, с другой стороны,
над ним возможны операции, которые приводят к
изменению этих свойств. Таким образом, объект
объединяет в себе как описывающие его данные
(свойства), так и средства обработки этих данных
(методы).
Инкапсуляцией
называется
объединение в объекте его свойств и возможных
над ним операций (методов).
7.
Свойства - это показатели, характеризующие объект.Методы - это действия, которые можно произвести
с объектом.
События - это действия, которые происходят с
объектом.
8.
Объект "телефон"Свойства:
Методы:
События:
Цвет
Размер
Расположение
Вес
объем
снять трубку
набрать номер
передвинуть
телефон
Звонок
длинный гудок
короткий гудок
9.
Объекты – это то, чем можно управлять с помощьюкода VBA.
Среди
более
100
объектов
Excel
в
программировании VBA чаще всего используются
следующие:
Application (Приложений);
Workbook (Рабочая книга);
WorkSheet (Рабочий лист);
Range (Диапазон ячеек);
UserForm (Пользовательская форма);
CommandButton (Кнопка).
10.
Каждыйобъект
является
представителем
некоторого класса однотипных объектов, т.е.
объект является экземпляром класса.
Класс определяет общие для всех его объектов
методы и свойства
11.
Работа с любым объектом заключается вследующем:
• Задание свойств объекта.
• Получение значений свойств объекта.
• Выполнение методов объекта.
12.
Свойство предоставляет собой разнообразные характеристики объекта,такие как размер, цвет, положение на экране или состояние объекта,
например, доступность или видимость. Чтобы изменить
характеристику объекта, надо просто изменить значение свойств.
Синтаксис установки значения свойства:
Объект. Имя_Свойства=Значение
Объект обозначает имя объекта, а имя_свойства – соответственно имя
свойства, которому присваивается значение. Имя объекта отделяется
от имени свойства точкой.
Например:
• Range (“А1”).Value =100 – поместить в ячейку А1 значение 100.
• UserForm1.TextBox1.Text = “ ” – очистить (присвоить пустое значение)
полю ввода номер один в пользовательской форме номер один;
• Range (“А2”).Font.Size=14 – в ячейке А2 установить размер шрифта 14.
13.
Для того, чтобы объект выполнил какую-нибудь операцию,необходимо задать метод. Метод предоставляет собой
действие, выполняемое над объектом.
Синтаксис применения метода:
Объект.Метод
Например:
• Range (“А1:А5”).Clear – очистить диапазон ячеек А1:А5;
• Range (“А1”).Select – выбрать диапазон ячеек В2:Е2;
• UserForm1. Show – показать форму;
UserForm2.Hide – скрыть форму;
• Application.Quit – выйти из приложения.
14.
Событие представляет собой действие, распознаваемоеобъектом (например, щелчок мышью или нажатие
клавиши, перемещение мыши или выход из программы),
для которого можно запрограммировать отклик, т.е.
реакцию объекта на произошедшее событие.
В языке VBA для каждого объекта определен набор
стандартных событий.
Синтаксис записи процедуры обработки событий:
Sub Объект (1)_Событие()
Объект(2).Свойство=Значение Свойства
Объект(3).Метод
End Sub
15.
Редактор VBA активизируется командой Сервис→Макрос→Редактор
Visual
Basic.
После
выполнения команд мы попадаем в редактор
VBA. Возвратиться из редактора VBA в рабочую
книгу можно нажатием кнопки Вид(View)
→Microsoft Excel
. Интерфейс VBA состоит из
следующих основных компонентов:
• панели инструментов;
• окно проекта;
• окно свойств;
• окно редактирования кода;
• окна форм;
• меню;
16.
Элементы управления - это объекты, которыеслужат для организации интерфейса между
пользователем и компьютером. Например:
кнопки, списки, переключатели.
Элемент управления - это объект, имеющий свои
свойства, методы, события
17.
Элементы управления VBA:
Надпись Label - служит для добавления
текста на форму. Этот текст не может
быть изменен пользователем, но может
быть изменен программой.
Свойства:
Caption - текст надписи.
Font - шрифт, его размер, начертание.
Alignment - выравнивание текста: Left
(влево), Right (вправо), Center (по
центру).
ToolTipText - подсказка, появляющаяся
при наведении указателя мыши на
элемент управления.
Свойства размещения и размера
элемента:
ForeColor - цвет текста.
BackColor - цвет фона.
Примечание: Можно выбирать
системные цвета, соответствующие
оформлению Windows или любые из
палитры.
18.
Служит для того, чтобы пользователь мог ввеститекст во время работы программы.
Свойства:
• Text - содержит символы, которые ввел
пользователь.
Другие свойства аналогичны элементу "Надпись".
19.
Свойства:• Caption - надпись на кнопке.
• Enabled - доступность элемента. С помощью этого свойства
блокируются элементы, которые пользователю нельзя
использовать в данный момент. Заблокированные элементы
отображаются серым цветом. В заблокированное текстовое
поле не получится ввести текст, а заблокированную кнопку
нельзя
нажать.
Выбирают из двух значений:
• True (Да) - элемент управления доступен пользователю.
• False (Нет) - элемент управления не доступен.
• Visible - видимость элемента управления:
• True (Да) - виден.
• False (Нет) - не виден.
20.
Приложение, созданное на VBA, имеет модульнуюструктуру. Это означает, что процедуры, входящие в
приложение, группируются в модули.
Проект – совокупность модулей, предназначенных для
решения комплекса задач предметной области.
Модуль – совокупность описаний, процедур и функций.
Инструкция (оператор) – единица кода, которая является
операцией или описанием.
Описание – это инструкция, используемая для описания
переменных, массивов, констант, типов данных, а также
ссылок на внешние функции.
21.
Процедура – поименованный набор описаний иинструкций, сгруппированных для решения
определенной задачи.
Процедуры, переменные, модули, константы и
другие объекты имеют имена.
Имена должны быть понятными и отражать
назначение объекта.
22.
Приименовании
следует
придерживаться
следующих правил:
• - Длина имени не должна превышать 256
символов.
• - В имени можно использовать любую
комбинацию букв, цифр и символов, но оно
должно начинаться с буквы.
• - Имена не должны включать точек, пробелов и
следующих символов: % & ! # @ $
• - Имена должны быть уникальны внутри области
определения.
23.
Область определения зависит от того, гдеопределена процедура, функция или переменная.
В одном модуле не может быть процедур и функций
с одинаковыми именами, а внутри процедуры
или функции имена переменных и массивов не
должны дублироваться.
24.
VBA позволяет создавать три типа процедур Sub,Function и Property. При запуске процедуры Sub
выполняются команды процедуры, а затем
управление передается в приложение или
процедуру, которая вызвала процедуру Sub,
Function (функция) также решает определенную
задачу.
25.
• Function возвращает единственное значение,поэтому
используется
для
выполнения
вычислений.
• Property используется для ссылки на свойство
объекта. Применяется для установки или
получения значения пользовательских свойств
форм и модулей.
• Процедуры Sub подразделяются на процедуры,
связанные
с
элементами
управления
(событийные) и процедуры общего назначения.
26.
Разработка модулей (процедур) выполняется в редактореVBA с использованием одного из двух основных методов.
• Автоматическая запись макроса и его редактирование.
Этот метод позволяет записать выполняемые пользователем
действия, а затем в любое время воспроизвести их, т.е.
автоматизировать работу. При записи макроса основное
приложение создает процедуру с именем макроса,
которую можно просмотреть и отредактировать.
• Создание процедур и функций в редакторе
На лист Excel выносятся требуемые элементы управления и
создаются процедуры, связанные с ними, а также
процедуры и функции общего назначения.
27.
Ввод инструкций в редакторе VBA:
В одной строке можно записать одну или несколько
инструкций,
Несколько инструкций в одной строке разделяются
символом : (двоеточие),
Для продолжения инструкции в следующей строке надо
ввести пробел и символ _ (подчерк) в конце строки,
Комментарии начинаются с символа ‘ (апостроф),
комментарии служат для пояснения, они могут
записываться как в отдельных строках, так и строке с
инструкцией.
28.
Рис.1. Окно Visual Basic, в нем окна проекта и редактора29.
состоит из элементов, среди которых могут присутствовать:• 1)Ключевое слово - это слово или символ, которые распознаются как
элементы языка программирования, например, If, Else, Sub, For и т.д.
• 2)Выражение - комбинация ключевых слов, переменных и констант;
результатом выражения является строка, число или логическое
значение.
• 3)Переменная - поименованная область памяти, отведенная для
временного хранения данных, которые могут изменяться при
выполнении программы.
30.
4)Массив - поименованная область памяти состоящая из набораэлементов (обычно - переменных) определенного типа, каждый
элемент имеет свой порядковый номер. Порядковый номер
называется индексом элемента в массиве.
5)Константа - поименованный элемент, сохраняющий постоянное
значение в течение выполнения программы.
6)Методы и свойства объектов: методы - это действия, которые
выполняются объектом, а свойства - это переменные, описывающие
характеристики объекта.
Методы и свойства записываются через точку после имени объекта,
например, TextBox1.Text.
31.
[Private] Sub имя ([аргументы])Инструкции
End Sub
- заголовок процедуры
- тело процедуры
- конец процедуры
Имя - имя создаваемой процедуры;
Аргументы - переменные, позволяющие передать в процедуру
требуемые значения.
Private - процедура может использоваться только модулем, в котором
она находится