Теперь, когда вы знаете, как управлять потоками выполнения приложений, можно организовать любую реакцию приложения в ответ на выбор, сделанный пользователем в окне сообщения. Например, если в окне сообщения спрашивается, хочет ли пользователь сохранить свою рабочую книгу, то вы должны организовать вывод на экран диалогового окна Сохранение документа. Excel имеет примерно 200 встроенных диалоговых окон. С помощью VBA можно получить доступ ко всем встроенным диалоговым окнам. Синтаксис оператора для открытия встроенных диалоговых окон следующий:
Application.Dialogs (xlDialogКонстанта).Show
Чтобы задать значение аргумента xlDialogКонстанта, откройте окно просмотра объектов Object Browser и в библиотеке Excel выберите класс XLBuiltInDialog. Вы увидите список всех доступных значений аргумента xlDLslogКонстанта и без труда поймете, что Константа - это просто название диалогового окна. (Естественно, название диалогового окна надо вводить на английском языке и так, как оно показано в окне Object Browser, но это не мешает VBA отображать сами окна в русифицированном виде. - Прим. ред.) Следующие действия приведут к открытию вашим приложением встроенного диалогового окна.
Вставьте новую процедуру в текущий модуль и назовите ее СохранениеКниги.
Перейдите на рабочий лист, где вы вычисляли комиссионные.
Вставьте новую командную кнопку и назначьте ей процедуру СохранениеКниги.
Дайте этой кнопке название Сохранить книгу.
Щелкните вне кнопки, чтобы снять с нее выделение.
Щелкните на кнопке Сохранить книгу. Откроется окно сообщения, спрашивающее, хотите ли вы сохранить рабочую книгу.
Щелкните на кнопке Да, и на экране появится диалоговое окно Сохранение документа (рис. 6.5).
Щелкните на кнопке Отмена.
Рис. 6.5. Для вас доступны все диалоговые окна Excel!
Резюме
В этом часе вы изучили два способа управления потоками выполнения программ: С помощью оператора If и оператора Select Case. Вы также узнали, как получить доступ к встроенным диалоговым окнам Excel. Это сохранит ваше время как разработчика приложения (в вашем распоряжении более 200 диалоговых окон!), а пользователю вашего приложения даст для работы хорошо знакомый ему интерфейс.