Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Лабораторная работа №6 Формы пользователя






Формы пользователя – это диалоговые окна, предназначенные для создания собственного интерфейса при работе с программными модулями проекта, используя объект UserForm. При помощи форм пользователя VBA, которые называются также экранными формами, можно создавать диалоговые окна для вывода данных или получения значений от пользователя в виде, требуемом программе пользователя. Хотя во многих случаях для этих целей можно применять функции MsgBox и InputBox (или метод InputBox), при разработке сложных проектов возможности их недостаточны. В экранных формах пользователя можно в одном диалоговом окне задавать сразу несколько опций, выбирать пункты из списка или вводить несколько значений, наподобие диалоговых окон приложений MS Office.

Упражнение 1

Для вставки экранной формы в приложение нужно выполнить следующие действия.

1. Открыть рабочую книгу.

2. Войти в редактор Visual Basic, нажав комбинацию клавиш < Alt+F11> или щёлкнув по кнопке в Excel 2007-2010 или по кнопке в Excel 97-2003.

3. Если в окне проекта не появится окно Project – VBAProject, то выбрать в меню View пункт Project Exsplorer.

4. В окне проекта щёлкнуть правой кнопкой мыши на элементе
ЭтаКнига.

5. В контекстном меню выполнить команду Insert> UserForm (Вставка > Экранная форма). В рабочую книгу будет вставлена экранная форма UserForm1 и Панель элементов ToolBoox (рис.15).

Новая экранная форма представляет собой пустое окно со строкой заголовка UserForm1. Это та основа, на которой пользователь может создать собственные диалоговые окна и окна других типов. Если панель ToolBoox не появится, нужно выбрать в меню View пункт ToolBoox или нажать кнопку на панели Microsoft Visual Basic.

Если окно свойств формы Properties – UserForm1 не появится, то для установки свойств формы нужно выполнить команду
View | Properties Windows или нажать клавишу F4.

Окно ToolBoox можно при необходимости переместить в любое место окна UserForm.

Упражнение 2

Изучить п.2.11.1. – 2.11.2 учебного пособия Теория_к_лаб_6.doc,. и выполнить находящиеся в них процедуры по указанию преподавателя.

Упражнение 3 [1]

Создать пользовательскую форму, в которой размещены элементы управления Label (надпись), CommandButton (кнопка управления). При нажатии на кнопку “Запуск” будет генерироваться случайное число. Это число должно отображаться в элементе Label (надпись). Затем вычислим корень квадратный из этого числа, его синус и косинус, а результаты выведем в другие элементы управления Label (надпись). Кроме этого, в форме выводится текущая дата. При нажатии на кнопку “Выход” форма удаляется с экрана. Для запуска формы на листе Excel необходимо создать кнопку с надписью “Функции VBA”.

 

Порядок работы:

1. Запустить Excel.

2. Загрузить VBA:

– в Excel 2007-10:

вкладка Разработчик | пункт меню Insert | UserForm

– в Excel 97-3003:

Сервис | Макрос | Редактор Visual Basic | Insert | UserForm.

3. Проверить, чтобы на экране появилось окно проекта и окно свойств. Форму можно увеличить стандартным способом, ухватившись за правый нижний угол и растягивая ее.

4. Сделать появившуюся форму активной и установить значения свойств данного объекта:

5. Добавить в форму средства управления. При разработке потребуется два инструмента: Label (надпись) и CommandButton (кнопка управления) с панели элементов. Форма с элементами управления в режиме конструктора примет следующий вид:

6. Для вывода результатов расчета подготовить элементы Label1, Label2, Label3, Label4. Для этого необходимо установить значения свойств объекта Label1 ÷ Label4:

7. Для пояснительных надписей установить значения свойств элементов Label5, Label6, Label7, Label8:

8. Для вывода текущей даты установить значения свойств элемента Label9:

9. Добавить в форме командную кнопку для запуска программы, применив элемент управления CommandButton1 и установить значения свойств объекта CommandButton1:

10. Добавить в форму командную кнопку для закрытия формы, применив элемент управления CommandButton2, и установить значения свойств объекта CommandButton2:

 

 

После выполнения всех пунктов форма в режиме конструктора будет выглядеть так:

 

11. Проверить работу формы. Для вывода формы на экран выполнить команду Run | Run Sub/UserForm или нажать клавишу . На фоне листа Excel появится созданная форма, но при нажатии на кнопку “Запуск” или “Выход” ничего не произойдет, т.к. не запрограммирован отклик на событие (нажатие кнопки). Закрыть форму и в войти в редактор VBA.

12. В форме дважды щелкнуть на кнопке “Запуск”, чтобы вывести заготовку программы, связанную с командной кнопкой.

Программа начинается с заголовка Private Sub (локальная процедура) и заканчивается предложением End Sub (конец процедуры). Между этими предложениями записывается текст программы.

13. Написать тексты процедур, обеспечивающих работу с формой.

Private Sub CommandButton1_Click()

Randomize

Label9.Caption = Date

Label1.Caption = Int((Rnd * 90) + 1)

Label2.Caption = Sqr(Label1.Caption)

Label3.Caption = Cos(Label1.Caption * 3 / 14 / 180)

Label4.Caption = Sin(Label1.Caption * 3 / 14 / 180)

End Sub

Проанализируем текст программы. Синтаксис установки значения свойства объекту имеет вид:

Объект.Свойство = ЗначениеСвойства.

Каждая строка программы содержит название объекта, его свойство (левая часть строки, до равенства) и установку значения свойства (правая часть строки, после знака равенства).

  • Label— объект.
  • Caption— свойство.
  • Date — значение свойства (текущая дата).
  • Инструкция Randomize инициализирует генератор случайных чисел.
  • Rnd * 90— значение свойства. Функция генерации случайных чисел Rnd генерирует случайное число между 0 и 1.
  • Функция Int возвращает целую часть аргумента (в данном случае – произведение случайного числа на 90) и отбрасывает дробную часть аргумента. Результат – числа от 1 до 90.
  • Sqr(Label1.Caption). Sqr – функция извлечения квадратного корня. Так как случайное число сохранилось в объекте Label1, то применяется функция Sqr, аргументом которой является объект, в котором хранится случайное число.
  • Sin(Label1.Caption * 3.14159 / 180)—аргумент функции синус рассматривается в радианах, но для того, чтобы было привычнее анализировать полученные результаты, применим формулу для преобразования градусов в радианы, т.е. преобразуем случайное число (градусы) в радианы и получим результат.

14. Вывести форму на экран, нажав клавишу (F5), и проверить работоспособность кнопки “Запуск”. Результат выполнения программы показан на рисунке.


15. Составить процедуру для кнопки “Выход”. Для этого нужно перейти в редактор VBA и дважды щелкнуть по кнопке “Выход” в форме. Появится заготовка программы:

Private Sub CommandButton2_Click()

End Sub

в которую нужно вставить одну строку программы – UserForm1.Hide,

в которой:

· UserForm1 — это объект.

  • Hide — это метод:

Private Sub CommandButton2_Click()

UserForm1.Hide

End Sub

Кроме запуска программы по нажатию клавиши (F5), существует еще один способ вывода формы на экран. Для этого:

1. Перейти в приложении Excel на любой лист.






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.