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

IBu*_*sHI 2 outlook vba openfiledialog outlook-vba

我正在尝试通过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
Run Code Online (Sandbox Code Playgroud)

myAppl是一个Outlook.Application对象:

Dim myAppl As Outlook.Application
Set myAppl = CreateObject("Outlook.Application")
Run Code Online (Sandbox Code Playgroud)

小智 6

我不认为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
Run Code Online (Sandbox Code Playgroud)