Лабораторная работа № 3 – Основы программирования на языке VBA (Visual Basic for Application)
Тема работы: Создание новых диалоговых окон на основе форм пользователя
Цель: Изучить способы ввода-вывода данных, свойства встроенных объектов VBA: форм, стандартных элементов управления "Надпись", "Поле" и "Кнопка".
Указания по выполнению
1. В данной лабораторной работе необходимо создать форму пользователя, разместить на ней элементы управления "Надпись" и "Кнопка" и изменить некоторые заданные по умолчанию свойства объектов. Для этого:
а) перейдите из Excel в среду программирования VBA(Alt + F11);
б) добавьте к проекту форму (команда "Insert/UserForm"). После выполнения этой команды на экране появляется стандартная форма и панель инструментов "Элементы управления" (рис. 2.1);
Рис. 2.1. Вид стандартной формы и панели "Элементы управления"
в) на панели элементов выберите элемент управления "Label" и разместите его на форме;
г) на панели элементов выберите элемент управления "CommandButton" и разместите его на форме;
д) измените в окне свойств исходные значения свойств объектов
(табл. 2.1).
Таблица 2.1 Задание свойств объектов
Имя объекта | Имя свойства | Значение свойства | Описание свойства |
UserForm1 (Форма) | Caption | Первая форма | заголовок формы |
StartUpPosition | 2-CenterScreen | начальное положение формы при запуске | |
Font | Times New Roman | название шрифта | |
Полужирный | начертание | ||
размер шрифта | |||
Label 1 (Надпись) | Caption | Hello, World! | текст надписи |
Command Button 1 (Кнопка) | Caption | Изменить надпись | текст на кнопке |
Теперь форма выглядит иначе (рис. 2.2).
Рис. 2.2. Вид пользовательской формы после изменения свойств
2. Выполните запуск приложения VBA (кнопка "RunSub / UserForm", либо клавиша F5). После просмотра формы завершите
работу приложения с помощью кнопки "Закрыть" в правом верхнем углу формы.
3. Напишите код процедуры для обработки события Click элемента "CommandButton". Для этого:
а) выберите на форме элемент "CommandButton";
б) перейдите в режим ввода программного кода (команда "View/Code", либо клавиша F7). VBA автоматически генерирует шаблон для ввода кода процедуры:
Private Sub CommandButton1_Click()
End Sub
в) наберите код процедуры между операторами Private Sub... и EndSub следующим образом:
Private Sub CommandButton1_Click()
' Установить новое значение свойства Caption
' элемента "Надпись" (с именем Label1)
Label1.Caption = "Здравствуй, мир!"
End Sub
4. Выполните запуск приложения.
5. Нажмите левую кнопку мыши на элементе "Кнопка". Обратите
внимание, как при этом изменился текст надписи.
6. Добавьте к проекту вторую форму. Ее свойство Name автоматически устанавливается в значение UserForm2.
7. Разместите на ней два элемента "Надпись", два элемента "Поле" и два элемента "Кнопка". Элементы управления "Поле" служат для ввода в программу следующих данных о Вас: фамилия и возраст. Измените свойства объектов, чтобы форма имела вид, представленный на рис. 2.3.
Рис. 2.3. Вид второй пользовательской формы
8. Напишите для события Click первого элемента "Кнопка" (с именем CommandButtonl) код процедуры:
Private Sub CommandButton1_Click()
Dim strVar1 As String, strVar2 As String
strVar1 = "": strVar2 = ""
' Занести в переменную strVarl текст из первого поля
strVar1 = TextBox1.Text
' Занести в переменную strVar2 текст из второго поля
strVar2 = TextBox2.Text
'Функция MsgBox служит для вывода сообщений из программы
MsgBox ("Ваша фамилия " & strVar1 & "." & vbNewLine & "Вам сейчас " & strVar2)
End Sub
9. Напишите для события Click второго элемента "Кнопка" (с именем CommandButton2) код процедуры:
Private Sub CommandButton2_Click()
End
End Sub
10.Выполните запуск приложения (при этом форма UserForm2 должна быть активной).
11.Введите в первом окне "Поле" (с именем TextBoxl) Вашу фамилию, во втором окне "Поле" (с именем TextBox2) Ваш возраст.
12.Нажмите левую кнопку мыши на элементе "Кнопка" (с именем
CommandButtonl). Проверьте текст полученного сообщения.
13. Завершите работу приложения с помощью кнопки CommandButton2.
Задание для самостоятельной работы.
Создайте форму для заполнения:
Четный номер зачетки = 2 вариант, нечетный номер = 1 вариант.
1 вариант. Резюме для приема на работу (фамилия, имя, отчество, дата рождения, возраст, адрес проживания, телефон, электронный адрес, образование, опыт работы, последнее место работы).
2 вариант. Заявление на поступление (фамилия, имя, отчество, дата рождения, возраст, адрес проживания, телефон, школа, результаты 3-х экзаменов).
Перечисленные данные должны вводиться каждое в отдельное поле, и после нажатия кнопки «Пуск» выводиться в окне сообщения, каждое в новой строке. Если некоторые поля не заполнены - выводите информацию об этом как на примере ниже.