2012-10-02 46 views
3

我已经编写了一些需要用户选择邮件文件夹(无论是从邮箱内还是从外部PST中)的Outlook VBA。显示对话框以允许用户选择VBA中的Outlook文件夹

目前,他们必须直接在代码中编辑路径 - 这不是远程用户友好或高效的。

有谁知道如何让对话框出现,允许用户浏览所有可用的文件夹和子文件夹,并选择一个?

奖励积分,如果它只能限于邮件文件夹,但它不是必需的。

回答

6

尝试使用Pickfolder方法:

Sub FolderPick() 

    Dim objNS As NameSpace 
    Dim objFolder As folder 

    Set objNS = Application.GetNamespace("MAPI") 
    Set objFolder = objNS.PickFolder 

    If TypeName(objFolder) <> "Nothing" Then 
     Debug.Print vbCr & " objFolder: " & objFolder 
    Else 
     Debug.Print vbCr & "Cancel" 
    End If 

    Set objFolder = Nothing 
    Set objNS = Nothing 

End Sub 
+1

伟大的作品,非常感谢。但值得注意的是,在Outlook 2003中,您需要将第二个“Dim”更改为“Dim objFolder As MAPIFolder”,否则会引发“用户定义类型未定义”错误。 – Richard

+0

Richard的评论也适用于Outlook 2007 – lessthanideal

相关问题