- •Лабораторная работа №1 Элементы управления пользовательская форма (vba)
- •Элементы управления
- •Режим конструктора
- •Установка свойств элемента управления
- •Редактор кода
- •Пользовательская форма UserForm
- •Семейство Controls
- •Создание пользовательской формы
- •Свойства элементов управления Поле
- •Надпись
- •Заполнение списка
- •Выбор нескольких элементов из списка
- •Поле со списком
- •Полоса прокрутки и счетчик
- •Переключатель
- •Флажок и выключатель
- •Ссылки на ячейки и диапазоны
- •Набор страниц
- •Набор вкладок
- •Дополнительные элементы управления
- •Отображение встроенных диалоговых окон
- •Индивидуальные задания
Ссылки на ячейки и диапазоны
Элемент управления RefEdit(редактирование ссылок) создается с помощью кнопкиRefEdit(рис.21). Элемент управленияRefEditобычно используется для ввода ссылок на ячейки или диапазоны. Основным свойством элемента управленияRefEditявляетсяText, возвращающее строку, введенную в поле ввода этого элемента управления.
Рис.21. Элемент управления RefEditв форме
Набор страниц
Элемент управления MultiPage(набор страниц) создается с помощью кнопкиНабор страниц(MultiPage) (рис.22). Этот элемент управления реализует многостраничные диалоговые окна. Заголовки страниц отображаются на кадках. Переход от страницы к странице осуществляется выбором вкладки посредством щелчка кнопкой мыши.
Рис.22. Набор страниц в форме
Создать, переименовать, удалить или переместить страницу элемента ления MultiPageможно вручную, выбрав ярлык соответствующего листа и вызвав щелчком правой кнопки мыши контекстное меню. Используя контекстное меню, можно произвести одно из перечисленных действий.
Объект MultiPageсодержит в себе семействоPages, являющееся набором страниц, входящих в этот объект.
Перечислим основные свойства объекта MultiPage.
Value и BoundValue |
Возвращают номер активной страницы. Нумерация производится с нуля; |
MultiRow |
Допустимые значения: True(если ярлыки не помещаются в одну строку, то они выводятся в несколько строк) иFalse(если ярлыки не помещаются в одну строку, то появляется полоса прокрутки, позволяющая переходить от страницы к странице); |
SelectedItem |
Возвращает выбранную страницу. |
Семейство Pages, содержащее все страницы, входящие в объектMultiPageимеет единственное свойствоCount, возвращающее число элементов семейства. Кроме того, у семействаPagesимеются следующие методы.
Add |
Создает новую страницу. Синтаксис: Set Object=object.Add([Name[,Caption[,index]]]) object– семействоPages; Name– имя страницы; Caption– текст, отображаемый на ярлыке страницы; index– номер страницы, нумерация страниц производится с 0. |
Clear |
Удаляет все страницы из семейства Pages; |
Remove |
Удаляет страницу из семейства Pages; |
Item |
Возвращает страницу со специфицированным индексом. Синтаксис: Set Object=object.Item(collectionindex) |
Набор вкладок
Элемент управления TabStrip(набор вкладок) создается с помощью кнопкиНабор вкладок(TabStrip) (рис.23). Он позволяет создать несколько вкладок в диалоговом окне. ОбъектTabStripсодержит в себе семействоTabs, представляющее собой набор всех вкладок. ОбъектTabStripи семействоTabsобладают теми же свойствами и методами, что и объектMultiPageи семейство Pages.
Рис.23. Набор вкладок в форме
Дополнительные элементы управления
В VBA, кроме перечисленных стандартных элементов управления, имеется ряд дополнительных. Дополнительные элементы управления являются самостоятельными объектами, обладающие как общими для всех элементов управления свойствами и методами, так и присущими только им свойствами и методами. Для добавления дополнительных элементов управления на панель элементов необходимо:
Выбрать команду Сервис, Дополнительные элементы(Tools, Additional Controls);
В появившемся на экране окне Дополнительные элементы(Additional controls) (рис.25) в спискеДоступные элементы(Available Controls) установить флажок напротив добавляемого элемента;
Нажать кнопку ОК.
Удаление нужного элемента управления из панели элементов почти аналогично добавлению, а именно, надо:
Выбрать команду Сервис, Дополнительные элементы(Tools, Additional Controls);
В появившемся на экране окне Дополнительные элементы(AdditionalCobtrols) (рис.24) в спискеДоступные элементы (Available Controls) снять флажок напротив удаляемого элемента;
Нажать кнопку ОК.
Рис.24. Диалоговое окно Дополнительные элементы
Среди дополнительных элементов управления очень полезным является элемент управления Calendar(календарь) (рис.25). Этот объект представляет средство для организации удобного интерфейса по вводу дат. Элемент управления конструируется в форме с помощью кнопкиКалендарь (Calendar).
Рис.25. Календарь в форме
Перечислим основные свойства элемента управления Calendar.
Day |
Возвращает выбранный день; |
DayFont, DayFontColor |
Устанавливают шрифт и цвет шрифта для названий дней недели; |
DayLenght |
Допустимые значения: Длинный (Long)(отображаются полные названия дней); Средний (Medium)(в русской версии – отображаются две буквы из названий дней, в английской – три буквы); Короткий (Short)(отображается только по первой букве из названия дня); |
FirstDay |
Первый день недели. Допустимые значения отВоскресенье (Sunday)доСуббота (Saturday); |
Month |
Возвращает выбранный месяц; |
MonthLenght |
Допустимые значения: Длинный (Long)(отображаются полные названия месяца) иКороткий (Short)(отображаются только первые буквы из названия месяца); |
ShowDays |
Допустимые значения: True(отображаются названия дней недели) иFalse(в противном случае); |
ShowDataselected |
Допустимые значения: True(отображается выбранная дата в верхней части календаря) иFalse(в противном случае); |
Value |
Возвращает выбранную дату; |
Year |
Возвращает выбранный год; |
Перечислим основные методы элемента управления Calendar.
NextDay, NextWeek, NextMongth и NextYear |
Устанавливает следующий день, неделю, месяц и год; |
PreviousDay, PrevioustWeek, PreviousMongth и PreviousYear |
Устанавливает предыдущий день, неделю, месяц и год; |
Today |
Устанавливает текущую дату в календаре; |
В качестве примера использования календаря приведем следующую процедуру, которая считывает из календаря выбранную дату и вводит ее в ячейку рабочего листа
Private Sub Calendar_Click()
Cells(1,1).Value=Calendar1.Value
End Sub