5

我想创建一个带有过滤器的“另存为”文件对话框,但这似乎无法使用 FileDialog 类(Microsoft Office 12.0 对象库)。文档实际上在这里提到了这一点,请参见最后一段,但没有说明为什么?有没有另一种方法可以在 vb 中实现这一点?

我发现 FileDialog 类不允许这样做很奇怪,因为 Word、Excel 和 Access 都内置了这个确切的 SaveAs 功能。

我意识到 FileDialog 可以创建为允许过滤器的 FilePicker (msoFileDialogFilePicker),但是这不允许选择尚不存在的文件,这违背了整个观点。

4

2 回答 2

0

出于某种原因,这似乎是对该特定类别的限制,那么怎么样?

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
于 2011-05-04T10:31:28.687 回答
0

正如@AlexK 提到的,唯一的方法是使用 Windows API 调用。看这里

于 2011-07-05T13:00:56.370 回答