Федеральное агентство по образованию федеральное государственное образовательное учреждение Тольяттинский политехнический колледж МЕТОДИЧЕСКИЕ РЕКОМЕНДАЦИИ К практической работе №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