Основы офисного программирования и язык VBA


Вопрос первый: "Как сохранить


Для выяснения сути проблемы обратимся к примеру, который я спроектировал специально для этой задачи.

Первым делом я спроектировал форму с двумя элементами управления, включив ее в состав тестового документа. На самом тестовом документе я разместил 4 кнопки, управляющие работой формы. Кнопки Show и Hide показывают и прячут форму. Кнопка "Add Controls to Form" программно добавляет элементы управления на период существования формы, то есть до тех пор, пока форма не будет закрыта. Наконец, кнопка "Add Design Controls" решает поставленную задачу, добавляя элементы управления, как теперь принято говорить, на постоянной основе. Вот как выглядит тестовый документ с командными кнопками:

Тестовый документ с командными кнопками

увеличить изображение
Рис. П-1.  Тестовый документ с командными кнопками

А вот как выглядит сама форма при ее открытии в ответ на щелчок кнопки Show:

Спроектированная форма при ее открытии

Рис. П-2.  Спроектированная форма при ее открытии

Вот на какие моменты при решении этой задачи следует обратить внимание:

  • Спроектированная мной форма не является модальной. Это не является принципиальным в поставленной задаче, тем не менее, может быть важным, поскольку позволяет произвести изменение формы вне самой формы. О модальности форм следовало бы поговорить в основном тексте книги, но я этого, к сожалению, не сделал. Поэтому поговорим об этом сейчас. Формы Office 2000 обладает новым важным булевым свойством Modal, значение которого можно установить в момент проектирования. Если это значение равно True, то окно формы является модальным и его нельзя покинуть до закрытия. Если значение - False, то можно покинуть форму, поработать с документом, нажимать, например, другие кнопки в документе, модифицируя, возможно, саму форму. Заметим, что в Office 97 создать не модальное окно можно было только, используя объекты Balloon, входящие в состав объекта Assistant. Теперь сделан важный шаг в правильном направлении, - центральный объект интерфейса - UserForm получил возможность работать в немодальном окне.


    Начало  Назад  Вперед



    Книжный магазин