Использование диалогов

Применение встроенных диалогов плохо описано в справочнике. Но для того чтобы ими воспользоваться необходимо понять базовые принципы и затем методом проб уточнять значение тех или иных параметров. Важно отметить то, что коллекции диалогов MS Word и MS Excel несколько отличаются, причем более функциональной является коллекция MS Word. Поэтому часто целесообразно в программе, связанной с документом MS Excel, описать и создать объект типа Word.Application, у которого взять свойство Dialogs.

Далее разберем работу объектом Dialog, предоставляемым MS Word. Разделы встроенного справочника, которые могут вам помочь: описание коллекции Dialogs, описание объекта Dialog, перечень встроенных диалогов с описанием их параметров Built-in Dialog Box Argument Lists, несколько примеров в разделе Displaying built-in Word dialog boxes. Конечно, полезно заглянуть в связанные с указанными разделы.

Методы объекта Dialog: Display, Show, Execute, Update.

Метод Display предполагает показ стандартного диалога, но без выполнения связанных с ним стандартных действий, метод возвращает номер нажатой пользователем кнопки. Кроме того, пользуясь параметрами диалога можно и задать его изображение и, наоборот, получить информацию от пользователя. Параметр метода – максимальное время показа диалога.

Метод Execute вызывает выполнение умалчиваемых стандартных для заданного диалога действий. Его можно применять для того, чтобы программно произвести некоторые настройки, не показывая окно диалога пользователю. Либо для того чтобы сначала проверить, что задал пользователь, и если он задал допустимые параметры, выполнить стандартные действия с этими допустимыми параметрами.

Фрагмент программы ниже показывает пользователю привычный диалог для выбора некоторого файла, ограничивая список показываемых имен файлами с расширением «.doc», затем проверяется, что выбран файл, имя которого начинается с «отчет», и выбранный файл открывается.

With Dialogs(wdDialogFileOpen)

.Display 2000

If Left(.Name, 5) = "отчет" Then .Execute

End With

Метод Execute позволяет выполнить некоторые изменения настроечных параметров для текущего объекта без показа диалога на экране.

With Dialogs(wdDialogFormatParagraph)

.KeepWithNext = 1

.Execute

End With

Метод Show состоит в показе диалогового окна и выполнении выбранных пользователем стандартных действий, зависящих от вида окна: открытие файла, изменение некоторых настроек и т.п.

Метод Update меняет (обновляет) параметры диалога в зависимости от изменения, производимого в объекте Selection. Пусть выделенный фрагмент был написан с применением шрифта Times New Roman. Тогда в приведенном фрагменте в окне диалога будет выделено имя шрифта Times New Roman.

Set myDialog = Dialogs(wdDialogFormatFont)

myDialog.Show

Если же после создания диалога программно изменяется шрифт выделенного фрагмента (или выделенный фрагмент), то для переустановки выделенного в диалоге шрифта следует вызвать метод Update.

Set myDialog = Dialogs(wdDialogFormatFont)

Selection.Font.Name = "Arial"

myDialog.Update

myDialog.Show