Разработка программированных средств с помощью VBAРефераты >> Программирование и компьютеры >> Разработка программированных средств с помощью VBA
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.