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

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

435

Настройка панели инструментов Toolbox

Если объект U ser Form активен в редакторе VBE, на панели Toolbox отображаются элементы управления, которые можно добавить в пользовательское диалоговое окно. В этом разделе рассматриваются способы настройки панели Toolbox.

Добавление новых страниц

Панель Toolbox изначально содержит одну вкладку. Щелкните на ней правой кноп­ кой мыши и в контекстном меню выберите параметр New Page (Добавить страницу), чтобы добавить новую вкладку на панель Toolbox. Кроме того, можно изменить текст, который отображается на вкладке. Для этого выберите параметр Rename (Переимено­ вать) из контекстного меню.

Настройка или комбинирование элементов управления

Рекомендуется предварительно настроить элементы управления и сохранить их для дальнейшего использования. Можно, например, создать элемент управления Command­ Button, который настроен на выполнение роли кнопки ОК. Можно изменять следую­ щие параметры кнопки: W idth (Ширина), H eig h t (Высота), C ap tio n (Подпись), De­ fault (По умолчанию) и Name (Имя). После этого перетащите модифицированный элемент управления CommandButton на панель инструментов Toolbox. Это приведет к созданию элемента управления. Щелкните на элементе управления правой кнопкой мы­ ши, чтобы переименовать его или изменить значок.

Также можно создать раздел панели Toolbox, в котором будет содержаться несколько элементов управления. Например, вы вправе создать два элемента управления Com­ mandButton, которые будут представлять кнопки ОК и Отмена. Настройте их так, как это необходимо. Затем выберите обе кнопки и переместите их на панель инструментов Toolbox. Впоследствии можно использовать новый элемент управления панели Toolbox длябыстрого создания необходимых кнопок.

Этот метод также применим к элементам управления, которые используются в качестве контейнера. Например, создайте элемент управления Frame и добавьте в него четыре мо­ дифицированных элемента управления O ptio n B u tto n (соответствующим образом рас­ положив их на форме). После этого перетащите элемент управления Frame на панель ин­ струментов Toolbox, чтобы создать модифицированный элемент управления Frame.

Совет

©Иногда нужно разместить модифицированные элементы управления на от­ дельной вкладке панели Toolbox. Таким образом, появляется возможность экспортировать вкладку панели Toolbox для совместного применения другими пользователями Excel. Для экспорта вкладки панели Toolbox щелкните на ней правой кнопкой мыши и выберите пункт меню Export Page (Экспорт вкладки).

Компакт-диск

На прилагаемом к книге компакт-диске находится страничный файл (под именем n e w c o n tro ls .рад), который включает некоторые настроенные элементы управления. Можно импортировать этот файл в качестве новой вкладки окна Toolbox. Щелкните правой кнопкой мыши на вкладке и выбери­ те команду Import Page (Импортировать вкладку). После этого укажите рас-

438

Часть IV. Пользовательские формы

Вопросы для самоконтроля

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

Все ли элементы управления одного типа имеют одинаковые размеры?

Равномерно ли распределены элементы управления?

Не возникают ли у зрителей трудности при просмотре диалогового окна? Если возникают, то следует перегруппировать элементы управления с помощью эле­

мента управления M u lt i Раде.

Ко всем ли элементам управления можно получить доступ с помощью клавиатуры?

Не повторяются ли комбинации клавиш?

Правильно ли установлен порядок активизации элементов управления?

Выполнит ли код VBA необходимые действия, если пользователь нажмет клавишу <Esc> или щелкнет на кнопке Отмена?

Нет ли в тексте ошибок?

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

Насколько правильно будет отображаться диалоговое окно при всех разрешениях экрана?

Обеспечено ли логическое группирование элементов управления (в соответствии с выполняемой функцией)?

• Ограничивают ли элементы управления S c r o llB a r и S p in B u tto n диапазон допустимых значений?

Использутся ли в форме Use г Form элементы управления, которые могут быть не установлены в вашей системе?

Правильно ли настроены элементы управления L is t B o x ( S in g le , M u lt i и

E xte n d e d )? За дополнительными сведениями об элементах управления L i s t ­

 

Box обратитесь к главе 14.

Глава

Примеры

пользовательских

форм

Вэтой главе...

Создание “меню” с помощью объекта Use г Form

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

Создание заставки

Отключение кнопки закрытия пользовательского диалогового окна

Изменение размера диалогового окна

Масштабирование и прокрутка листа в пользовательском диалоговом окне

Использование элемента управления L istB o x

♦ Применение элемента управления M u lt i Раде

Использование внешних элементов управления

Анимация элемента управления L abel

Вданной главе приведены полезные и информативные примеры использования поль­ зовательских диалоговых окон.

Создание “меню” с помощью объекта userForm

Иногда требуется применить пользовательское диалоговое окно в качестве меню. В данном разделе предлагаются два способа получения необходимого результата: с по­ мощью элементов управления C om m andB utton и с помощью элемента управления

ListBox.

Глава 14. Примеры пользовательских форм

441

Private Sub E x e c u te B u tto n _ C lic k ()

 

S elect

Case

L is t B o x l. L is tln d e x

 

Case

-1

 

списка.

MsgBox "Выберите макрос из

E x it

Sub

 

Case

0

Макрос1

 

Case

1

Макрос2

 

Case

2

МакросЗ

 

Case

3

Макрос4

 

Case

4

Макросб

 

Case

5

Макросб

 

End S e le c t

 

 

Unload

Me

 

 

i Sub

 

 

 

Данная процедура проверяет значение свойства L is t ln d e x элемента управления

ListBox,

чтобы определить, какой элемент выбран в списке (если свойство

L is tln d e x

равно -1, то не выбран ни один из элементов). После этого запускается со­

ответствующий макрос.

Компакт-диск

©Два примера, рассмотренных в этом разделе, находятся на прилагаемом к

книге компакт-диске в файле u s e rf orm menus . xlsm .

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

©В главе 15 рассматривается похожий пример, в котором объект UserForm применяется для имитации панели инструментов.

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

Некоторые встроенные диалоговые окна Excel предоставляют пользователю возмож­ ность выбирать диапазон. Например, диалоговое окно Подбор параметра (Goal Seek), для вызова которого достаточо выполнить команду Данные1^Работа с данными^ Анализ “что если’,с>Подбор параметра (Data^Data Tools^What-If Analysis^Goal Seek) запрашивает у пользователя два диапазона. Пользователь может или ввести имя диапазона непосредственно, или применить мышь для выделения диапазона на листе.

Пользовательское диалоговое окно также обеспечивает подобную функциональность. Это достигается с помощью элемента управления R e fE d it. Данный элемент выглядит иначе, чем элемент выбора диапазона во встроенных диалоговых окнах Excel, однако ра­ ботает точно так же. Если пользователь щелкнет на небольшой кнопке в правой части элемента управления, то диалоговое окно временно исчезнет, а на экране будет отобра­ жен небольшой указатель выбора диапазона (именно так все происходит при использо­ вании встроенного диалогового окна Excel).

Примечание

К сожалению, элемент управления R e fE d it не позволяет использовать специ­ альные клавиши при выделении диапазона (например, невозможно выделить ячейки до конца столбца, нажав комбинацию клавиш <Shift+Nl>). Кроме того, по­ сле щелчка мышью на маленькой кнопке в правой части элемента управления (для временного сокрытия диалогового окна) можно применять только выделе­ ния с помощью мыши. Клавиатуру в этом случае применять нельзя.