Создание форм в VBA и включение их в проекты. Лекция 6

Содержание

Слайд 2

СОЗДАНИЕ ФОРМ Форма – это глобальный объект, образующий визуальную основу приложения.

СОЗДАНИЕ ФОРМ

Форма – это глобальный объект, образующий визуальную основу приложения. По

своей сути форма представляет собой окно, в котором можно размещать Различные управляющие элементы при создании приложений.
Слайд 3

Для создания формы необходимо выполнить Команду Insert – UserForm. В конструкторе

Для создания формы необходимо выполнить
Команду Insert – UserForm. В конструкторе

форм
появится форма, имеющая стандартный вид.

СОЗДАНИЕ ФОРМ

Слайд 4

СВОЙСТВА ФОРМЫ Как и любой объект VBA форма имеет набор свойств,

СВОЙСТВА ФОРМЫ

Как и любой объект VBA форма имеет набор свойств, основные

из которых приведены в таблице.
Слайд 5

Свойства можно изменять в режиме конструирования в окне свойств, либо программно

Свойства можно изменять в режиме конструирования в окне свойств, либо программно

в режиме выполнения.
Например:
Изменить заголовок формы можно командой:
frmForm1.Caption = “Привет”

СВОЙСТВА ФОРМЫ

Слайд 6

СОБЫТИЯ ФОРМЫ Программы управляются событиями. Каждый раз, когда нажимается кнопка, перемещается

СОБЫТИЯ ФОРМЫ

Программы управляются событиями. Каждый раз, когда нажимается кнопка, перемещается мышь,

изменяются размеры формы и т.д.
Операционная система генерирует сообщение,
Которое доставляется соответствующему объекту, например форме, а та генерирует соответствующее Событие.
Слайд 7

Следовательно, можно составить фрагмент программы, в котором объект будет реагировать на

Следовательно, можно составить фрагмент
программы, в котором объект будет реагировать
на событие

определенным образом, т.е. любому
стандартному соответствует определенная процедура.
Чтобы просмотреть события связанные с формой,
Необходимо в режиме конструирования дважды
щелкнуть на ней – появится окно программы, в
котором щелкнуть на списке Процедура.

СОБЫТИЯ ФОРМЫ

Слайд 8

ОСНОВНЫЕ СОБЫТИЯ ФОРМ

ОСНОВНЫЕ СОБЫТИЯ ФОРМ

Слайд 9

Пример в котором происходит изменение заголовка формы при активизации, и уменьшает

Пример в котором происходит изменение заголовка формы при активизации, и уменьшает

размер формы после щелчка левой кнопки мыши по форме.

Private Sub UserForm_Activate()
frmForm1.Caption = “Щелчок на форме уменьшает её размеры”
End Sub
Private Sub UserForm_Click()
frmForm1.Width = frmFotm1.Width/2
frmForm1.Height = frmForm1.Height/2
frmForm1.Caption = “Сделай это еще раз!”
End Sub

Слайд 10

МЕТОДЫ ФОРМЫ Форма обладает набором методов и инструкций. Метод определяет действие,

МЕТОДЫ ФОРМЫ

Форма обладает набором методов и инструкций. Метод определяет действие, которое

может быть выполнено с объектом. Инструкция инициирует действия. Она может выполнить метод или функцию.
Слайд 11

ПРИМЕР Предполагается что созданы две формы frmForms. При запуске проекта происходит

ПРИМЕР

Предполагается что созданы две формы frmForms. При запуске проекта происходит событие

Initialize для формы frmForm1, форма frmForm2 загружается и выводится на экран.
Когда при помощи мыши выбирается frmForm2, она делается невидимой, и появляется форма frmForm1.
Если же выбирается frmForm1, frmForm2 появляется вновь.
Слайд 12

ПРИМЕР ‘ Событие Initialize формы UserForm1 Private Sub UserForm_ Initialize() Load

ПРИМЕР

‘ Событие Initialize формы UserForm1
Private Sub UserForm_ Initialize()
Load frmForm2
frmForm2.Show
End Sub

Событие Click для формы UserForm2
Private Sub UserForm_ Click ()
frmForm2.Hide
End Sub
‘ Событие Click для формы UserForm1
Private Sub UserForm_ Click ()
frmForm1.Show
End Sub
Слайд 13

ИСПОЛЬЗОВАНИЕ УПРАВЛЯЮЩИХ ЭЛЕМЕНТОВ Создание управляющих элементов на форме выполняется с помощью

ИСПОЛЬЗОВАНИЕ УПРАВЛЯЮЩИХ ЭЛЕМЕНТОВ

Создание управляющих элементов на форме выполняется с помощью Панели

инструментов (Вид – Панель элементов (View – Toolbox)).
С помощью кнопок этой панели можно поместить в форму необходимый элемент управления.
Каждый элемент управления характеризуется набором свойств, событий и методов.
Для каждого объекта проекта необходимо определить его имя. В соответствии с общепринятыми соглашениями об именах объектов первые три символа имени должны отражать вид элемента, а остальные символы назначение.
Слайд 14

РЕКОМЕНДУЕМЫЕ СОЧЕТАНИЯ ПЕРВЫХ ТРЕХ СИМВОЛОВ ИМЕН

РЕКОМЕНДУЕМЫЕ СОЧЕТАНИЯ ПЕРВЫХ ТРЕХ СИМВОЛОВ ИМЕН

Слайд 15

ЭЛЕМЕНТ УПРАВЛЕНИЯ КОМАНДНАЯ КНОПКА Командная кнопка самый распространенный элемент управления. Может

ЭЛЕМЕНТ УПРАВЛЕНИЯ КОМАНДНАЯ КНОПКА

Командная кнопка самый распространенный элемент управления.
Может использоваться для

организации выполнения вычислений и других действий (вызов процедур и функций пользователя, открытие форм и т.д.)
Слайд 16

СВОЙСТВА КОМАНДНЫХ КНОПОК

СВОЙСТВА КОМАНДНЫХ КНОПОК

Слайд 17

СОБЫТИЯ И МЕТОДЫ КОМАНДНОЙ КНОПКИ Основным событием командной кнопки является Click.

СОБЫТИЯ И МЕТОДЫ КОМАНДНОЙ КНОПКИ

Основным событием командной кнопки является Click.
Наиболее полезным

методом командной кнопки является SetFocus, позволяющий вернуться к кнопке (передать ей фокус).
Например: команда, позволяющая вернуться к кнопке по умолчанию после ввода данных в текстовое поле: cmdMyButtum.SetFocus
Слайд 18

ТЕКСТОВОЕ ПОЛЕ Текстовое поле применяется для ввода или вывода информации.

ТЕКСТОВОЕ ПОЛЕ

Текстовое поле применяется для ввода или вывода информации.

Слайд 19

Например: для очистки содержимого текстового поля нужно ввести команду txtResult.Text =

Например: для очистки содержимого текстового поля нужно ввести команду
txtResult.Text = “


Основным событием текстового поля является текстового поля Change происходящее при воде или удалении символов.
Например, команду cmdMyButtum.SetFocus можно
поместить в процедуру события Change текстового поля.
Слайд 20

НАДПИСЬ Надпись применяется как самостоятельно для вывода справочной информации, так и

НАДПИСЬ

Надпись применяется как самостоятельно для вывода справочной информации, так и в

виде «подсказок» для текстового поля, списка и другого элемента.
Главное её отличие от текстового поля в том, что пользователь не может изменить текст надписи.
Слайд 21

СВОЙСТВА НАДПИСИ

СВОЙСТВА НАДПИСИ

Слайд 22

СПИСОК Список позволяет работать с перечнем из нескольких вариантов. Пользователь может

СПИСОК

Список позволяет работать с перечнем из нескольких вариантов. Пользователь может просмотреть

содержимое списка и выбрать один из вариантов для последующей обработки.
Прямое редактирование содержимого списка невозможно.
Если в списке помещаются не все строки, то
автоматически добавляется вертикальная полоса прокрутки.
Слайд 23

СВОЙСТВА СПИСКА Для списка чаще всего используется событие Click и DblClick

СВОЙСТВА СПИСКА

Для списка чаще всего используется событие Click и DblClick во

втором случае пользователь одновременно выделяет строку и начинает её обработку.
Слайд 24

МЕТОДЫ СПИСКА Работа со списком начинается с его заполнения методом AddItem,

МЕТОДЫ СПИСКА

Работа со списком начинается с его заполнения методом AddItem, который

может вызываться несколько раз подряд.
Часто метод AddItem помещается в процедуру UserForm)Initialize(), чтобы список заполнялся при загрузке формы.
Метод RemoveItem удаляет строки из списка.
Метод Clear очищает сразу весь список.
Слайд 25

Пример: показывает, как работают списки, при этом предполагается, что в проекте

Пример: показывает, как работают списки, при этом предполагается, что в проекте

создана форма с двумя списками (List1 и List2). Двойной щелчок на любой строке одного списка перемещает её в другой список. Строка включается в другой список до того, как она будет удалена из текущего.
Слайд 26

Private Sub UserForm_Initialize() List1.AddItem “Стол” List1.AddItem “Стул” List1.AddItem “Диван” List1.AddItem “Кресло”

Private Sub UserForm_Initialize()
List1.AddItem “Стол”
List1.AddItem “Стул”
List1.AddItem “Диван”
List1.AddItem “Кресло”
List1.AddItem “Кровать”
End Sub
Private Sub List1_DblClick()
List2.AddItem

List1.Text
List1.RemoveItem
List1.ListIndex
End Sub
Private Sub List2_dblClick()
List1.AddItem List2.Text
List2.RemoveItem
List2.ListIndex
End Sub
Слайд 27

ПЕРЕКЛЮЧАТЕЛИ Переключатели позволяют выбрать один вариант из группы. Обычно они группируются

ПЕРЕКЛЮЧАТЕЛИ

Переключатели позволяют выбрать один вариант из группы.
Обычно они группируются в

рамках, но их можно располагать прямо на форме, Если используется только одна группа переключателей.
Слайд 28

СВОЙСТВА ПЕРЕКЛЮЧАТЕЛЯ

СВОЙСТВА ПЕРЕКЛЮЧАТЕЛЯ

Слайд 29

Наиболее важным является свойство Value значение True (переключатель находится в установленном

Наиболее важным является свойство Value значение True (переключатель находится в установленном

состоянии), Которого в режиме конструирования задается только у одного переключателя в группе. В режиме выполнения это свойство чаще всего проверяется в процессе события Click кнопки,
нажатой после установки нужного переключателя, что позволяет проверить перед вызовом следующей процедуры некоторое условие.
Однако определенные действия можно выполнять сразу же после выбора переключателя в процедуре его события Click.
Слайд 30

ФЛАЖОК Флажок частично аналогичен переключателю, но в отличие от него может

ФЛАЖОК

Флажок частично аналогичен переключателю, но в
отличие от него может использоваться

как отдельный Самостоятельный элемент. Даже объединенные в группу флажки Работают независимо друг от друга. Основные же свойства
флажков такие же, как и у переключателя. Однако свойство Value может принимать три значения (флажок находится в установленном состоянии, снятом или неопределенном).
Слайд 31

Наиболее часто используемым событием флажков является Click, В процедуре которого можно

Наиболее часто используемым событием флажков является Click, В процедуре которого можно

проверять состояние флажка по свойству Value. Следующий пример иллюстрирует работу
флажков, при этом предполагается, что в проекте создана форма с двумя флажками (ChkBold и ChkItalic) и текстовым полем TxtExam. После ввода символов в текстовое поле, с помощью флажков можно делать текст полужирным или курсивом.
Свойства FontBold и FontItalic текстового поля устанавливают способы начертания текста.
Слайд 32

Private Sub Chkbold_Click() If ChkBold.Value = True Then TxtExam.FontBold = True

Private Sub Chkbold_Click()
If ChkBold.Value = True Then
TxtExam.FontBold = True
Else
TxtExam.FontBold = False
End

If
End Sub
Private Sub ChkItalic_Click()
If ChkBold.Value = True Then
TxtExam.FontItalic = True
Else
TxtExam.FontItalic= False
End If
End Sub
Слайд 33

Рамка используется для группировки переключателей или флажков, и помещается на форму

Рамка используется для группировки переключателей или флажков, и помещается на форму

раньше элементов, находящихся внутри неё. Переключатели находящиеся внутри рамки, работают как самостоятельная группа и не влияют на состояние переключателей в других рамках. Основным свойством рамки является Caption, которое задает текст, определяющий назначение элементов в рамке.

РАМКА