Быть может, вы обращали внимание на то, что при выполнении стандартных операций Windows, таких как открытие, вывод на печать и закрытие файлов, диалоговые окна Office выглядят одинаково вне зависимости от используемой программы. Это происходит потому, что в действительности мы имеем дело просто с одним и тем же окном, которое обеспечивается элементом управления ActiveX под названием CommonDialog. Именно благодаря CommonDialog пользователи Office при работе с любым компонентом пакета ощущают, что находятся в знакомой среде.
Публикуется с разрешения авторов. (С) Андрей Колесов, Ольга Павлова Вперые опубликовано в электронной версии журнала "Мир ПК" N 3/99
Быть может, вы обращали внимание на то, что при выполнении стандартных операций Windows, таких как открытие, вывод на печать и закрытие файлов, диалоговые окна Office выглядят одинаково вне зависимости от используемой программы. Это происходит потому, что в действительности мы имеем дело просто с одним и тем же окном, которое обеспечивается элементом управления ActiveX под названием CommonDialog. Именно благодаря CommonDialog пользователи Office при работе с любым компонентом пакета ощущают, что находятся в знакомой среде.
Элемент CommonDialog содержит набор стандартных диалоговых окон для таких типовых операций, как открытие и сохранение файлов, установка параметров печати, выбор цвета и шрифта; он может также использоваться для вывода справки в компонентах Office с помощью механизма Windows Help. Для работы CommonDialog необходима динамически компонуемая библиотека Commdlg.dll (она обеспечивает интерфейс между VBA и программами), которая должна находиться в каталоге System (в случае Windows 95) или System32 (в случае Windows NT).
Метод
Действие
ShowOpen
Выводит диалоговое окно Open
ShowSave
Выводит диалоговое окно Save As
ShowColor
Выводит диалоговое окно Color
ShowFont
Выводит диалоговое окно Font
ShowPrinter
Выводит диалоговое окно Print или Print Options
ShowHelp
Активизирует механизм Windows Help
Тип окна, выводимого при активизации CommonDialog во время выполнения программы, определяется заданным для него методом. Доступны следующие методы:
Сам элемент CommonDialog во время выполнения программы невидим, а во время разработки он представлен значком на форме, размеры которого невозможно изменить. Нельзя также управлять положением диалогового окна на экране.
Пример использования CommonDialog
Добавьте к пользовательской форме элемент управления Microsoft Common Dialog Control, version 5.0. После этого необходимо будет написать для него последовательность операторов, которая обеспечит в ответ на щелчок по форме автоматический вывод нужного диалогового окна или активизацию механизма Help. Продемонстрируем это на примере окна открытия файла (Open).
Щелкните правой кнопкой мыши по элементу CommonDialog на пользовательской форме и выберите команду Properties ("Свойства").
В окне свойств CommonDialog установите для свойства Name значение cdlODE.
В окне кода введите следующий текст:
Option Explicit Private Sub UserForm_Click() cdlODE.ShowOpen End Sub
Проверьте, что у вас получилось. Нажмите кнопку запуска на панели редактора Visual Basic (или клавишу ) и щелкните в любом месте формы, чтобы активизировать событие Click и вывести диалоговое окно Open (см. рисунок).