Excell имеет несколько встроенных диалоговых окон. Несколько это слабо сказано, их более 200. Предназначенны они для облегчения работы и программирования. Например, вашему приложению необходимо вызывать окно диалога для выбора цвета ячейки. Вот код:
Sub Test()
Application.Dialogs(xlDialogActiveCellFont).Show
End Sub
А вот результат работы при запуске макроса. Это окно появится и будет изменять свойства выделенного диапазона.
Кроме типа окна далее можно передавать параметры. Вот, например, для открытия DBF файла.
Sub Test()
Application.Dialogs(xlDialogOpen).Show "*.dbf"
End Sub
Появится диалоговое окно с предложением выбрать DBF файл. Как вы заметили для отображения окна используем метод Show и уникальную константу диалогового окна.
С аргументами особый разговор. Во-первых их может быть много. Если нужно оставить аргумент по умолчанию, то используйте вот такую конструкцию "*.dbf",,TRUE. Две запятые позволяют пропустить аргумент (оставить по умолчанию). Так же следует знать, что аргументы нужно задавать строго в определенной последовательности при работе со встроенными диалоговыми окнами.
Аргументы могут быть именованными. Ниже пример аналогичен примеру с двумя запятыми.
Sub Test()
Application.Dialogs(xlDialogOpen).Show arg1 = "*.dbf", arg3 = True
End Sub