
- •Введение
- •Основные понятия объектно-ориентированного программирования
- •Основные элементы управления в редакторе vba
- •Стандартные приемы программирования в среде vba Введение
- •Отладка программы
- •Основные элементы программного кода в среде vba Описание переменных
- •Константы
- •Операторы присваивания
- •Арифметические выражения
- •Логические выражения
- •Текстовые выражения
- •Линейные программы
- •Оператор перехода
- •Конструкции принятия решений
- •Ветвление по условиям
- •Циклы в программе
- •Массивы
- •Пользовательские процедуры
- •Две основные функции преобразования типов данных
- •Ввод, вывод и генерация исходных данных
- •Приемы работы в среде программирования vba
- •Запуск среды vba
- •Создание функции пользователя
- •Создание макрокоманды (макроса)
- •Создание пользовательской формы
- •Работа с листами книги
- •Лабораторные задания по темам Целочисленное программирование
- •Ввод и вывод данных, оператор присваивания
- •Логические выражения: группа Boolean
- •Условный оператор: группа If
- •Оператор выбора
- •Цикл с параметром: группа For
- •Цикл с условием: группа While
- •Массивы
- •Функции и процедуры
- •Контрольные вопросы
- •Список литературы
- •Содержание
- •420015, Казань, к. Маркса, 68
Создание пользовательской формы
Любое окно, которое открывается по командам программ, представляет собой форму. Такая же форма может быть создана и нами. Чтобы форма и элементы на ней работали, для их событий пишутся программы, которые должны выполняться при наступлении этих событий. Попробуем создать самую простую форму с двумя элементами на ней – текстовой меткой, которая выводит текст, и кнопкой, которая может нажиматься и отжиматься мышкой. В эти моменты текстовая метка должна менять свой текст.
Сначала создадим форму, используя команду Insert UserForm. В рабочей области экрана появляется форма (рис.25), которая по умолчанию имеет имя UserForm1. С помощью курсоров по углам и сторонам формы можно изменять ее размеры. В окне свойств объекта имеется набор всех свойств, которые имеются у формы. Разберем их более подробно. Если перейти в режим расположения свойств по категориям, то их легче рассмотреть:
в первой группе свойств задают заголовок формы (Caption). Имеются свойства для оформления формы – цвета фона (BackColor), цвета текста (ForeColor), который будет по умолчанию применяться в любых ее элементах, и цвета рамки (BorderColor), которая будет видна вокруг рабочей области объекта, если вид рамки (BorderStyle) ‑ одинарная линия (fmBorderStyleSingle). Для обрамления можно выбрать и другой вид рамки, используя свойство специальных эффектов (SpecialEffect);
во второй группе обычно интерес представляет свойство показа окна (ShowModal). При установке этого свойства в состояние True окно захватывает все события и выполняет только свою программу. Это приводит к тому, что передача управления самой программе произойдет только после закрытия окна. Если в этом нет необходимости, то устанавливаем значение False;
Рис.25. Форма пользователя на рабочей области VBA
следующая группа содержит настройки шрифта по умолчанию для всех элементов формы;
в четвертой группе основные характеристики формы, из них нам могут понадобиться ее имя (Name), и наличие на форме дополнительных кнопок (WhatsThisButton) и (WhatsThisHelp), которые выводят в ее заголовок кнопки контекстной помощи по элементам формы;
затем идет группа команд, позволяющих расположить на форме рисунок, и задать параметры его расположения;
в пятой группе свойства, определяющие размер и место расположения окна на экране, а так же место его расположения при начальном запуске;
в последней категории свойства, позволяющие расположить на форме линейки для изменения видимой части рабочей области формы, если она больше размеров самого окна.
Справа расположена панель элементов формы (ToolBox), на которой мы будем выбирать нужные элементы. Сначала в верхней части формы расположим текстовую метку и зададим для нее следующие свойства:
изменим шрифт (Font), увеличив размер до 16 и выбрав написание жирное с наклоном, сменим цвет на красный (ForeColor);
для метки определим центровку текста (TextAlign) по центру, с переносом слов (WordWrap).
Теперь под этой меткой располагаем кнопку (ToggleButton), и зададим для нее заголовок (Caption) – «Нажмите кнопку». Остается вписать для формы программный код, и она будет готова. Надо выбрать событие, которое нам нужно – это нажатие на кнопку. Чтобы создать эту процедуру достаточно просто щелкнуть на этой кнопке левой кнопкой мышки. После этого форма скрывается и на рабочей области появляется процедура обработки события, которая зовется ToggleButton1_Click. Нам остается вписать необходимы код.
Private Sub ToggleButton1_Click()
If ToggleButton1.Value = True Then
Label1.Caption = "Кнопка нажата"
Else
Label1.Caption = "Кнопка отжата"
End If
End Sub
Суть кода заключается в том, что если кнопка нажата (ToggleButton1.Value = True) то в текстовую метку вписывается текст – «Кнопка нажата», в противном случает текст – «Кнопка отжата».
Наша форма готова к работе, но она имеет один недостаток – в момент первого запуска текст в метке отсутствует, поэтому в событие инициализации формы надо вписать обращение к показанной выше программе. Чтобы вызвать событие на самой форме, щелкните по ней мышкой, в окне кода появится событие щелчка по форме. После этого открываем список в правой части окна кода, и находим в списке нужное событие, выбираем его, и вносим нужный код
Private Sub UserForm_Initialize()
ToggleButton1_Click
End Sub