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

Глава 12. Создание собственных диалоговых окон

403

A p p lic a tio n . CommandBars( "W orksheet Menu Bar")

_

Controls( "Формат") . C o n t r o l s ( "Ячейки. . . " ) .Execute

На самом деле пользоваться объектами CommandBar не стоит, поскольку вряд ли они будут поддерживаться в будущих версиях Excel.

Для работы с формой ввода данных следует структурировать данные таким образом, чтобы Excel распознавала их в виде таблицы. Начните с указания заголовков столбцов в первой строке диапазона вводимых данных. Выделите любую ячейку в таблице и щелк­ ните на кнопке Форма (Form) панели быстрого доступа. Затем Excel отображает диалого­ вое окно, в котором будут вводиться данные. Для перемещения между текстовыми полями в целях ввода информации используйте клавишу <ТаЬ>. Если ячейка содержит формулу, результат вычислений отображается в виде текста (а не в формате поля ввода данных). Другими словами, невозможно изменить формулы с помощью формы ввода данных.

По завершении ввода данных в форму щелкните на кнопке Создать (New). После этого Excel вводит данные в строку рабочего листа, а также очищает диалоговое окно для ввода следующей строки данных.

Отображение формы ввода данных с помощью VBA

Используйте метод ShowDataForm для отображения формы ввода данных Excel. Единственное требование заключается в том, что активная ячейка должна находиться в диапазоне. Следующий код активизирует ячейку А1 (в таблице), а затем отображает форму ввода данных.

Sub D isplayD a taF o rm () R a n g e ( " A l" ) . S e le c t

A c tiv e S h e e t. ShowDataForm End Sub

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

©Рассмотренный пример находится в рабочей книге на прилагаемом ком­ пакт-диске (файл d a ta form exam ple . xlsm ).

л Ж

Глава ■ 13)

Работа с пользовательскими

формами

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

Обработка пользовательских диалоговых окон в Excel

Вставка новой формы UserForm

Добавление элементов управления в пользовательское диалоговое окно

Элементы управления в окне Toolbox

Настройка элементов управления пользовательского диалогового окна

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

Отображение пользовательского диалогового окна

Закрытие пользовательского диалогового окна

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

События объекта UserForm

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

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

Создание шаблонов диалоговых окон

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

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

Обработка пользовательских диалоговых окон в Excel

Разрабатывая приложения в Excel, можно относительно просто создавать собствен ные диалоговые окна. При этом несложно повторить внешний вид и поведение практи чески всех стандартных диалоговых окон Excel.

В рабочей книге может быть произвольное количество форм форма включает единственное пользовательское диалоговое окно.
U s e rF o rm l, U serF orm 2
Вставка новой формы UserForm
Совет
В целях упрощения идентификации можно изменить название формы User­ Form. Для этого выберите форму и измените свойство Name (Имя) в окне Properties (Свойства). (Если это окно не отображается, нажмите клавишу <F4>.) На рис. 13.1 показано окно Properties, в котором выбрана пустая форма UserForm.
U se rF o rm
Для того чтобы добавить в проект форму U serF orm , запустите VBE (нажмите кла­ виши <Alt+Fll>, укажите рабочую книгу в окне проекта и выполните команду Inserts UserForm (Вставка^Форма UserForm)). Формы получат такие име­ на, как и т.д.

406

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

Разработчики приложений Excel всегда имели возможность создавать собственные диалоговые окна. Причем, начиная с Excel 97, применяемые при этом процедуры замет­ но изменились. Пользовательские диалоговые окна заменили неуклюжие диалоговые листы, и у разработчиков появилось намного больше возможностей по управлению соб­ ственными диалоговыми окнами. Но в целях совместимости Excel 97 и более поздние версии все еще поддерживают старые диалоговые листы Excel 5/95. Хорошей новостью является то, что формами U se rF o rm управлять намного проще; кроме того, они предос­ тавляют широкий набор новых возможностей.

Пользовательские диалоговые окна создаются на основе технологии пользователь­ ских форм, к которым можно получить доступ из редактора Visual Basic (VBE).

Ниже приведена стандартная последовательность действий, которой следует придер­ живаться при создании пользовательского диалогового окна.

1.Вставьте новую форму UserForm в проект VBAProject рабочей книги.

2.Добавьте элементы управления в форму U serF orm .

3.Настройте свойства добавленных элементов управления.

4.Создайте процедуры “обработчики событий” для элементов управления.

Эти процедуры добавляются в модуль кода U se rF o rm и выполняются при воз­ никновении различных событий (например, при щелчке на кнопке).

5.Разработайте процедуру, которая отображает форму UserForm .

Эта процедура находится в модуле VBA (а не в модуле кода для формы UserForm).

6.Определите простой способ вызова на выполнение процедуры, созданной в п. 5. Можно поместить кнопку на рабочий лист, команду ленты и т.д.

U serF orm , а каждая