Практическая работа № 2 (Работа с формами)

advertisement
Федеральное агентство по образованию
федеральное государственное образовательное учреждение
Тольяттинский политехнический колледж
МЕТОДИЧЕСКИЕ РЕКОМЕНДАЦИИ
К практической работе №7
по дисциплине «Пакеты прикладных программ»
2008
стр. 1 из 10
Visual Basic
“Утверждаю”
Заместитель директора по
учебной работе ТПК _________________
С.А. Гришина “__”_______________ 200__
г.
Одобрено ПЦК по
специальности «Информатика и ВТ»
Зав.ПЦК_________ Л.Г.Светличная
Методические указания составлены в соответствии с рабочей программой по дисциплине
«Пакеты прикладных программ» Специальности 230105 «Программное обеспечение
вычислительной техники и АС», утвержденной зам. Директора по учебной работе С.А.
Гришиной
Составитель: Тормозова Юлия Анатольевна.
Преподаватель специальных и общеобразовательных дисциплин Тольяттинского
политехнического колледжа.
Рецензент:
стр. 2 из 10
Visual Basic
Методические указания к выполнению практической работы
Тема «Создание форм. Элементы управления форм VBA»
Краткие теоретические сведения
Цель: Научится создавать формы при помощи средств VBA
Задание: При помощи элементов управления форм создать форму VBA
Для создания форм в редакторе VBA нужно выбрать меню Insert-UserForm. Откроется окно
дизайнера форм (Form designer), в котором будет представлено пустое серое окно формы(по
умолчанию она называется UserForm1) и рядом ToolBox – панель с набором элементов
управления.(рис. 1)
Рис. 1 Создание формы
Некоторые самые важные свойства форм приведены далее:
Name – это свойство определяет имя формы. Имя формы используется только
программистом в коле для этой формы. После создания формы ее имя, предлагаемое по
умолчанию (UserForm1), рекомендуется заменить на что-нибудь более значимое, чтобы было
проще ориентироваться в программе.
Caption – определяет заголовок формы(по умолчанию совпадает с именем формы).
Рекомендуется заменять стандартный заголовок на значимый, чтобы он напоминал
пользователю о назначении формы.
Enabled – если это свойство установлено в false, пользователь не сможет работать с формой.
Используется для временного отключения формы.
ShowModal – если свойство установлено в True (по умолчанию), то пользователь не сможет
перейти к другим формам или вернуться в документ, пока не закроет эту форму (так
называемый «модальный»режим работы).
стр. 3 из 10
Visual Basic
Самые важные методы форм перечислены в следующем списке:
Метод Show() – после того, как форма будет готова, нужно обеспечить ее запуск в
документе.
UserForm1.Show
Этот метод можно вызвать:
 Из обычного макроса, привязанного к кнопке или клавиатурной комбинации
 Из кода для элемента управления, расположенного в самом документе (например,
CommandButton) или на другой форме (для перехода между формами) и т.д.
Метод Hide() – после того, как пользователь введет или выберет нужные данные на форме и
нажмет требуемую кнопку, форму необходимо спрятать. Для этого можно воспользоваться
двумя способами:
Спрятать форму: UserForm1.Hide
Форма будет убрана с экрана, но останется в памяти. Окончательно форма удалится из
памяти при закрытии документа.
Удалить форму: Unload UserForm1
Используется в том случае, если форма больше не понадобится
Самые важные события форм приведены далее:
Initialize – происходит при подготовке формы к открытию (появлению перед
пользователем). Обычно в обработчик для этого события помещается код, связанный с
открытием соединений с базой данных, настройкой элементов управления на форме,
присвоением значений по умолчанию и т. д.
Click (по умолчанию) и DbClick – реакция на одиночный или двойной щелчок мыши
соответственно. Для формы эти события используются не так часто. Обычно обработчики
щелчков применяются для кнопок.
Error – это событие используется при возникновении ошибки в форме, предоставляя
пользователю возможность исправить сделанную им ошибку
Terminate – используется при нормальном завершении работы формы и выгрузке ее из
памяти.
Поскольку форма – это во многом контейнер для хранения других элементов управления,
главное ее событие – Initialize. Все остальные события используются обычно не для формы, а
для расположенных на ней элементов управления.
Элементы управления форм
Элемент управления LABEL
Это самый простой элемент управления формы. Надпись – это просто область формы, в
которой выводится какой-то текст (Рис. 2)
стр. 4 из 10
Visual Basic
Рис. 2 Элемент управления Label
Пользователь не может изменять этот текст. Данный элемент управления используется как
пояснение для пользователя, либо как пояснение для других элементов управления формы.
Главное свойство элемента управления - это Caption, тот текст, который будет выводиться в
форме. Большая часть остальных свойств относится к форматированию этого текста или
настройке внешнего вида этого элемента управления.
Несмотря на то, что для этого элемента управления предусмотрен набор событий (Click,
Error и др.), использовать их не принято: пользователю обычно не приходит в голову, что по
надписи нужно щелкнуть мышью.
Элемент управления TextBox
Текстовое поле – один из самых часто используемых элементов управления (Рис. 3). Оно
используется для приема каких-либо текстовых данных, вводимых пользователем, для вывода
пользователю текстовых данных с возможностью их редактирования, копирования и печати.
Рис. 3 Элемент управления TextBox
Важные свойства этого элемента управления:
Value (или Text, эти два свойства для текстового поля идентичны) – то текстовое значение,
которое содержится в этом поле. Используется для занесения исходного текстового значения и
для приема значения, введенного пользователем , в строковую переменную.
AutoSize – позволяет текстовому полю автоматически менять свой размер, чтобы поместить
весь текст. Использовать не рекомендуется, так как может нарушиться весь дизайн формы.
ControlTipText – текст всплывающей подсказки, которая появляется, когда пользователь
наводит указатель мыши на элемент управления. Рекомендуется к заполнению для всех
элементов формы.
стр. 5 из 10
Visual Basic
Enabled – если установить в False, то текст в поле станет серым и с содержимым ничего
нельзя будет сделать (ни ввести текст, ни выделить, ни удалить). Обычно это свойство
используется, чтобы показать пользователю, что этот элемент управления отключен до
выполнения каких-либо условий.
MaxLength – максимальная длина значения, которое можно ввести в поле
MultiLine – определяет можно ли использовать в текстовом поле несколько строк или
только одну.
PasswordChar – позволяет указать за каким символом будут «прятаться» вводимые
пользователем значения. Используется, конечно, при вводе пароля.
WordWrap – настоятельно рекомендуется включать в тех ситуациях, когда значение
MultiLine установлено в True. В этом случае будет производиться автоматический переход на
новую строку при достижении границы текстового поля
Остальные свойства по большей части относятся к оформлению текстового поля и его
содержания.
Главное событие для текстового поля – это событие Change (т.е. изменение содержания
поля).
Элемент управления ComboBox
Комбинированный список (Рис.4)- позволяет пользователю выбирать «готовые» значения
из списка, так и вводить их значения самостоятельно (хотя это можно запретить)
Рис. 4 Комбинированный список
К сожалению, через окно свойств заполнить список позициями не получится - для этой
цели придется использовать специальный метод AddItem(). Обычно он помещается в
обработчик события для формы. Применение его может выглядеть так:
Private Sub UserForm_Activate()
ComboBox1.AddItem "Санкт-Петербург"
ComboBox1.AddItem "Москва"
ComboBox1.AddItem "Владивосток"
ComboBox1.AddItem "Казань"
End Sub
Самые важные свойства комбинированного списка :
стр. 6 из 10
Visual Basic
MatchEntry – определяет, будут ли при вводе пользователем первых символов значения
выбираться подходящие позиции из списка. Возможность очень удобная, рекомендуется
сохранить значение, которое используется по умолчанию
MatchRequired – определяет, разрешается ли пользователю вводить значение, которого
нет в списке. По умолчанию False, т.е. разрешено.
Value (или Text) – позволяет программным путем установить выбранное значение в
списке или получить в переменную выбранное или введенное пользователем значение.
Главное событие для комбинированного списка – Change.
Элемент управления ListBox
Элемент управления ListBox (Рис. 5) – очень похож на комбинированный список, но
применяется гораздо реже по той причине, что в нем нельзя открыть список значений по
кнопке, все значения видны сразу, и поэтому большое количество позиций в нем уместить
трудно; пользователь не может вводить свои значения – только выбирать из готового списка.
Рис. 5 Элемент управления ListBox
Но у этого элемента управления есть и преимущества: в нем пользователь может выбирать
не одно значение, как в ComboBox, а несколько
Основные свойства, методы и события у ListBox – те же, что и у ComboBox. Главное
отличие – это свойство MultiSelect, которое позволяет пользователю выбирать несколько
значений. По умолчанию это свойство отключено.
Элементы управления CheckBox и ToggleButton
Флажки (CheckBox) и кнопки с фиксацией (ToggleButton) используются для выбора
невзаимоисключающих вариантов (если вариантов немного). Они представлены на рисунке 6.
стр. 7 из 10
Visual Basic
Рис. 6 Флажки и кнопки с фиксацией
Продолжение следует….
стр. 8 из 10
Visual Basic
Практическое задание
Ход работы:
Загрузить Excel.
В меню Сервис –Макрос – Безопасность – Среднее (установить).
Загрузить Сервис – Макрос – Редактор Visual Basic..
В открытом окне проекта интегрированной среды разработки открыть форму UserForm1
(пустая).
5. Используя панель инструментов ToolBox создать форму по образцу (Рис.1)
1.
2.
3.
4.
Рис. 1 Образец формы
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
Создать поле Label для вывода результатов расчетов
Создать кнопку «Умножение».
Написать модуль Умножение_Click() (двойным щелчком по кнопке – откроется окно модуля).
Private Sub Умножение_Click()
Label(номер).Caption = Val(TextBox1.Text) * Val(TextBox2.Text)
End Sub
Открыть свойство поля Label(номер) – удалить надпись в свойстве Caption
Написать модуль Выход_Click() (двойным щелчком по кнопке – откроется окно модуля).
Private Sub Выход_Click()
MsgBox "Выйти из формы?", vbOKOnly
UserForm1.Hide
End Sub
Создать модуль запуска формы в меню Insert – Module
Sub For_Activ()
UserForm1.Show
End Sub
Закрыть окно проекта.
В окне книги Excel на листе создать кнопку (Рис.1) и присвоить ей действие макроса For_Activ (появится в
окне макроса после написания модуля в проекте).
Проверить работу макроса и модуля.
Самостоятельно создать в проекте на форме еще кнопки: сложение, вычитание, деление, очистка и выход
(Рис. 2) Написать коды к каждой кнопке.
Кнопка Выход:
Private Sub Выход_Click()
MsgBox "Выйти из формы?", vbOKOnly
UserForm1.Hide
стр. 9 из 10
Visual Basic
End Sub
Кнопка Очистка:
Private Sub Очистка_Click()
TextBox1.Text = ""
TextBox2.Text = ""
End Sub
Рис. 2 Образец формы
16. Создать заголовок в форме «Калькулятор».
17. Сохранить книгу с именем «Калькулятор».
Контрольные вопросы:
1. Создание формы
2. Элементы управления формы
стр. 10 из 10
Download