MS Office SaveAs типа FileDialog с фильтром в VB - PullRequest
5 голосов
/ 04 мая 2011

Я хочу создать диалоговое окно «Сохранить как» с фильтром, но это невозможно с помощью класса FileDialog (библиотека объектов Microsoft Office 12.0).Документация на самом деле упоминает это здесь , см. Последний абзац, но не дает никаких причин, почему?Есть ли другой способ добиться этого в vb?

Мне странно, что класс FileDialog не позволяет этого, потому что во всех Word, Excel и Access есть эта встроенная функция SaveAs.

Я понимаю, что FileDialog может быть создан как FilePicker (msoFileDialogFilePicker), который разрешает фильтры, но тогда это не позволяет выбрать файл, который еще не существует, что наносит ущерб всей точке.

Ответы [ 2 ]

0 голосов
/ 05 июля 2011

Как отметил @AlexK, единственный способ сделать это - использовать вызов Windows API. Смотри здесь

0 голосов
/ 04 мая 2011

По какой-то причине это ограничение данного класса, так как насчет;

Dim vResult As Variant
vResult = Application.GetSaveAsFilename("default.blah", "blah files,*.blah,Text file,*.txt,All files,*.*", 0, "Title")
If VarType(vResult) = vbBoolean Then
    MsgBox "cancelled"
Else
    MsgBox vResult
End If
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...