vba - MS Office SaveAs 类型 FileDialog 与 vb 中的过滤器

标签 vba ms-office filedialog

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

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

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

最佳答案

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

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

关于vba - MS Office SaveAs 类型 FileDialog 与 vb 中的过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5881105/

相关文章:

com - Word OLE 自动化 - 删除首页并操作页眉和页脚

vba - 通用 Powerpoint 开发人员控制 VBA 中的值保存

python - wxPython FileDialog 通配符包含目录?

Excel/VBA 环境 ("username") 错误

c# - 如何在 IE 已从登录保护的 Intranet 打开的 Office 文档中启用编辑?

java - 使用 FileDialog 选择特定扩展名的文件

c# - Filedialog CustomPlaces困惑

excel - 在 Excel 2016 Power Query 中创建时如何修改 Excel 2013 中的查询

vba - 无法在 Excel 中运行使用加载项创建的宏

excel - 选择整个最后一行