在Outlook中打开文件对话框(VBA)错误438

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Outlook中打开文件对话框(VBA)错误438相关的知识,希望对你有一定的参考价值。

我正在尝试通过VBA在Outlook中打开文件对话框。 (Outlook 2010)

使用以下代码我得到一个错误:

运行时错误438.对象不支持此属性或方法

Private Sub btn_openPST_Click()
    Dim oFileDialog As FileDialog
    Set oFileDialog = myAppl.FileDialog(msoFileDialogFilePicker)
    With oFileDialog
        .Title = "Select your PST File"
        .ButtonName = "Ok"
        .Show
    End With
End Sub

myAppl是一个Outlook.Application对象:

Dim myAppl As Outlook.Application
Set myAppl = CreateObject("Outlook.Application")
答案

我不认为Outlook可以打开文件选择器。我解决方法是打开Excel工作表,然后打开文件选择器,然后关闭Excel工作表。请尝试以下代码,并确保将“Microsoft Excel 14.0对象库”参考导入Outlook。

Private Sub openFDinOutlook()

    Dim xlObj As Excel.Application
    Dim fd As Office.FileDialog

    Set xlObj = New Excel.Application
    xlObj.Visible = False
    Set fd = xlObj.Application.FileDialog(msoFileDialogFolderPicker)
    With fd
        .Title = "Select your PST File"
        .ButtonName = "Ok"
        .Show
    End With
    xlObj.Quit
    Set xlObj = Nothing


End Sub

以上是关于在Outlook中打开文件对话框(VBA)错误438的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Excel VBA 打开 Outlook excel 附件,在特定时间范围内发送到特定 Outlook 文件夹?

如何打开保存文件对话框并通过在 libreoffice 中写入字符串来保存文件。下面的代码是在 VBA 中

使用Excel VBA打开Outlook .msg文件

Outlook VBA 错误地回复文件夹中的电子邮件

office outlook默认数据库文件保存在哪里

使用 Access VBA 从 Outlook 获取附件