Студопедия

КАТЕГОРИИ:

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


Открытие пользовательской формы




Чтобы открывать пользовательскую форму с рабочего листа Excel, макрос, запускающий форму, должен быть в модуле из папки Modules.

В папку Modules вставим новый модуль, переименуем его как Валя и напишем в нем макрос для открытия валютного калькулятора.

Sub Валюта()

ValCalc.Show

MsgBox " Выход", , "Валюта"

End Sub

При создании текста макроса, когда мы напишем ValCalc и поставим точку, откроется список свойств, методов и объектов, подчиненных объекту ValCalc. Это значит, что пользовательская форма ValCalc включена в иерархическую структуру проекта открытой рабочей книги Excel. В списке подчиненных объектов будут все визуальные компоненты, которые мы добавим на форму ValCalc. Сейчас здесь только командные кнопки Выход и Пересчитать.

Один из методов, подчиненных (доступных) пользовательской форме ValCalc, это Show, показать, нарисовать форму на экране, то есть выполнить пользовательскую форму.

На рабочем листе Excel команда меню Сервис/Макрос/Макросы… или <Alt+F8> открывает окно Макрос. Выделяем макрос Валюта и нажимаем кнопку <Выполнить>. Окно ValCalc появилось на рабочем листе.

Кнопка <Выход> закрывает окно ValCalc. И только после закрытия окна ValCalc на рабочем листе появилось окно функции MsgBox.

Почему так получилось. Запуск макроса Валюта создает в оперативной памяти процесс, выполняющий этот макрос. Первый оператор макроса ValCalc.Show создает в оперативной памяти новый, дочерний процесс, выполняющий пользовательскую форму. Большинство визуальных компонентов ждут реакцию пользователя, поэтому дочерний процесс прервет выполнение родительского процесса. Дочерний процесс закончит свою работу, когда будет закрыта пользовательская форма. Только тогда продолжит выполняться основной процесс, в частности, второй оператор MsgBox…, и на рабочем листе появится окно функции MsgBox.

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

В окне Макрос снова выделим макрос Валюта и нажмем кнопку <Параметры>. Откроется окно Параметры макроса, в котором создадим комбинацию клавиш <Ctrl+ш> для быстрого запуска макроса Валюта и введем описание макроса. Букву «ш» можно ввести только на русском шрифте, так что не будет путаницы.


Поделиться:

Дата добавления: 2015-08-05; просмотров: 63; Мы поможем в написании вашей работы!; Нарушение авторских прав





lektsii.com - Лекции.Ком - 2014-2024 год. (0.006 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав
Главная страница Случайная страница Контакты