Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
курсовая / Источники / excel_2010_professionalnoe_programmirovanie_na_vba_RuLit_Me_412629.pdf
Скачиваний:
4
Добавлен:
27.09.2025
Размер:
22.97 Mб
Скачать

лава 13. Работа с пользовательскими формами

421

уре форма UserForm немедленно исчезнет после того, как пользователь щелкнет на нопке CommandButtonl. Последний оператор процедуры выгружает пользователькоедиалоговое окно из памяти.

'riv a te Sub C om m andB uttonl_C lick () Me. Hide

A p p lic a tio n . S creenU pdating = True

For r

= 1

To 10000

C e l l s ( r , 1) = r

Next r

 

 

Unload

Me

 

!nd Sub

В рассматриваемом примере переменной ScreenUpdating присвоено значение True, в результате чего Excel полностью скрывает окно UserForm. Если этот оператор

использовать, окно UserForm остается видимым.

Перекрестная ссылка

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

Пример создания пользовательского диалогового окна

Если вы еще никогда не создавали пользовательские диалоговые окна, то обратите внимание на пример, приведенный в этой главе. В нем вы найдете пошаговые инструк­ ции по созданию простого диалогового окна и разработке процедуры VBA для поддерж­ ки этого диалогового окна.

В приведенном примере представлено диалоговое окно, предназначенное для полу­ чения имени и пола пользователя. В диалоговом окне вы найдете элемент управления TextBox, используемый для ввода имени, и три элемента управления OptionButton для указания пола (“мужчина”, “женщина” и “не определен”). Информация, полученная в диалоговом окне, заносится в пустую строку рабочего листа.

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

На рис. 13.9 показано завершенное пользовательское диалоговое окно, созданное в этом примере. Для получения наилучших результатов начните с новой рабочей книги, содержащей только один рабочий лист. Выполните следующие действия.

1.Нажмите комбинацию клавиш <Alt+Fl 1> для активизации VBE.

2.В окне Project (Проект) выберите проект рабочей книги и выполните команду Inserts UserForm (Вставка^Форма UserForm) для добавления пустой формы

UserForm.

3.Свойству Caption формы UserForm присвоено заданное по умолчанию значе­ ние UserForml. Воспользуйтесь окном Properties (Свойства) для изменения значения свойства Caption формы UserForm на Укажите имя и пол. (Если окно Properties не отображается, нажмите клавишу <F4>.)

Глава 13. Работа с пользовательскими формами

423

Свойство

Значение

A c c e le ra to r

Ж

C aption

Женщина

Name

OptionFemale

Tablndex

1

9. Добавьте еще один элемент управления O p tio n B u tto n внутри элемента Frame и измените его свойства следующим образом.

Свойство

Значение

A c c e le ra to r

Д

C aption

Другое

Name

Opt i onUnknown

Tablndex

2

Value

True

10.Добавьте элемент управления C om m andB utton за пределами элемента Frame и измените его свойства следующим образом.

Свойство

Значение

C aption

ОК

D e fa u lt

True

Name

OKButton

Tablndex

3

И. Добавьте еще

один элемент управления C om m andB utton и настройте его

свойства следующим образом.

Свойство

Значение

C aption

Отмена

D e fa u lt

False

Name

CloseKButton

Tablndex

4

л^°,ет

« ц ж При создании нескольких похожих элементов управления может оказаться, что быстрее копировать существующий элемент управления, чем создавать новый. Для копирования элемента управления удерживайте нажатой клавишу <Ctrl> при перетаскивании элемента управления, что приведет к созданию копии. После этого останется изменить свойства скопированного элемента управления.

Создание кода для отображения диалогового окна

После создания элементов управления на лист необходимо добавить элемент управления ActiveX, называемый Кнопка (CommandButton). Эта кнопка будет запускать процедуру, которая предназначена для отображения формы U serF orm . Для этого выполните следующие действия.

1.Перейдите в окно Excel (воспользуйтесь комбинацией клавиш <Alt+Fl 1>).

2.Выберите команду Разработчик^Элементы управления^Вставить (Developer1^ Controls1^Insert) и щелкните на значке Кнопка (CommandButton), который нахо­ дится в разделе Элементы ActiveX (ActiveX Controls).