Создание настраиваемых диалоговых окон.




VBA позволяет создавать и использовать в программах нестандартные (настраиваемые) диалоговые окна, добавляя объект UserForm в проект. Используя разрабатываемые пользователем формы VBA, можно создавать нестандартные диалоговые окна для отображения данных или получения значений от пользователя программы в том виде, который наиболее соответствует потребностям программы. Например, можно создать тест, отобразить диалоговое окно для отображения вопросов с вариантами ответов и предоставить пользователю возможность выбрать один из вариантов ответа, который он считает верным.

Нестандартные диалоговые окна позволяют программе взаимодействовать с её пользователем самым сложным образом и обеспечивают разнообразную форму ввода и вывода данных.

Нестандартное диалоговое окно создаётся в VBA посредством добавления объекта UserForm в проект. Этот объект представляет собой пустое диалоговое окно; оно имеет строку заголовка и кнопку закрытия, но в нём отсутствуют какие-либо другие элементы управления. Нестандартное диалоговое окно создаётся путем добавления элементов управления в объект UserForm (обычно называемый просто формой). Каждый объект UserForm имеет свойства, методы и события, наследуемые им от класса объектов UserForm.

Каждый объект User Form также содержит модуль класса, в который пользователь добавляет собственные методы и свойства или вписывает процедуры обработки событий для данной формы.

Для того чтобы создать собственный интерфейс, независимый от среды Excel, необходимы экранные формы.

Экранные формы - это окна различного назначения и вида, созданные пользователем для своего приложения. Они содержат элементы управления, позволяющие пользователю обмениваться информацией с приложением.

При создании нового объекта UserForm в проекте создаётся новый подкласс объекта UserForm.

Любые процедуры или функции, записываемые в разделе General модуля класса формы, становятся дополнительными методами подкласса данного конкретного объекта. Новые свойства для формы могут быть также созданы посредством добавления процедур Propery Let в её модуль класса. Процедуры добавляются в наследуемый модуль класса. Новые экземпляры подкласса UserForm создаются с помощью инструкции Dim и ключевого слова New. Однако в большинстве случаев управление формой будет осуществляться посредством использования стандартных методов и свойств класса User Form и создания процедур обработки событий для конкретной формы и её элементов управления.

Кроме методов, свойств и событий, которые объект UserForm представляет изначально, VBA предоставляет две инструкции, которые особенно полезны при работе с объектами форм: Load и Unload. Эти инструкции можно использовать для загрузки формы в память или для удаления её из памяти.

Объект User Form может содержать элементы управления подобные тем, что находятся в других диалоговых окнах, отображаемых Excel и другими Windows-приложениями. Элементы управления - это элементы диалогового окна, которые позволяют пользователю взаимодействовать с программой. К этим элементам относят кнопки переключателей, текстовые поля, линейки прокрутки, командные кнопки и т.п.

Каждый элемент управления - объект со специальными свойствами, методами и событиями. Подобно содержащим их формам, средства элементов управления можно определять программным путём или с помощью окна Properties редактора Visual Basic. Значения свойства элемента управления присваиваются или получаются в VBA- программе, так же, как и для любого другого объекта.

 

Отображение форм с помощью VBA.

VBA использует созданный графический дизайн формы - с настройками свойств формы и элементов управления - для получения всей информации, необходимой для отображения диалогового окна: размеров диалогового окна, элементов управления в нём и т.п. В результате VBA позволяет отобразить форму диалогового окна с помощью единственной инструкции.

Для отображения нестандартного диалогового окна используется метод Show объекта UserForm.

Если в настоящий момент форма не загружена в память, метод Show загружает форму и отображает её. Если форма уже загружена, метод Show просто отображает её. В любом случае этот метод отображает форму, а затем присваивает ей фокус. Форма остается до тех пор, пока не будет выполнен метод Hide объекта UserForm, либо пока форма не будет выгружена с помощью инструкции Unload.

Форма остаётся загруженной до тех пор, пока экземпляр формы не выйдет за пределы видимости, - т.е. процедура, создавшая этот экземпляр объекта формы, перестанет выполняться - либо пока форма не будет выгружена с помощью инструкции Unload.

Хотя программа в модуле класса формы будет выполняться в результате события в диалоговом окне, общее выполнение программы приостанавливается до тех пор, пока форма диалогового окна не будет закрыта или скрыта.

Использование VBA с элементами управления в форме.

Отображения одного диалогового окна для выполнения задачи обычно недостаточно. Почти всегда требуется определить состояние элементов управления диалогового окна с целью выяснить, какие данные или опции выбрал пользователь. Например, если диалоговое окно используется для получения от пользователя информации о том, по каким столбцам и строкам должно выполняться упорядочение рабочего листа, необходимо иметь возможность выяснить, какие значения пользователь ввел после закрытия диалогового окна и до действительного начала операции упорядочивания.

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

 

Список литературы:

1. Свириденко С.С. Современные информационные технологии. – М.: Радио и связь,1989.

2. Советов Б.Я. АСУ. Введение в специальность. – М.: Высшая школа,1989.

3. Советов Б.Я. Информационная технология. – М.: Высшая школа, 1992.

4. Фурунжиев Р.И., Гугля В.А. САПР, или как ЭВМ помогает конструктору. – Минск: Высшая школа, 1987.

5. Журнал «Информатика и образование», с 1992г.

6. Журнал «Педагогическая информатика», с 1994г.

7. Белошапка В.К. Информационное моделирование. – Омск: Изд-во ОГПИ, 1992.

8. Гнеденко Б.В., Коваленко И.Н. Введение в теорию массового обслуживания. – М.: Наука, 1966.

9. Косневски Ч. Занимательная математика и персональный компьютер. – М.: Просвещение, 1989.

10. Липаев В.В. Проектирование программных средств. – М.: Высшая школа, 1990.

11. Пидкасистый П.И. педагогика. – М.: Педагогическое общество Россия,2000.

12. Ковальски С. Excel 2000 без проблем. – М.: Бином, 2000.

13. Харис М. Программирование для Microsoft Excel 2000 за 21 день. – М.: Вильямс, 2000.

14. Могилев А.В., Пак Н.И., Хеннер Е.К. Информатика. – М.: ACADEMIA, 2000.

15. Сайдашев А.А., Хеннер Е.К. Компьютер на уроке математики. – Пермь; Изд-во ПГУ, 1991.

16. Кондаков В.М. Математическое программирование. – Пермь: Изд-во ПГУ, 1992.

17. Матюшкин-Герке А. Учебно-прикладные задачи в курсе информатики. Информатика и образование, №3-4, 5-6, 1992.

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2019-06-03 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: