【发布时间】:2012-09-23 04:47:15
【问题描述】:
我编写了一些 Outlook VBA,需要用户选择一个邮件文件夹(从他们的邮箱中或从外部 PST 中)。
目前,他们必须直接在代码中编辑路径 - 这对远程用户不友好或效率不高。
有谁知道如何显示一个对话框,允许用户浏览所有可用的文件夹和子文件夹并选择一个?
如果它可以仅限于邮件文件夹,但不是必需的,则可以加分。
【问题讨论】:
我编写了一些 Outlook VBA,需要用户选择一个邮件文件夹(从他们的邮箱中或从外部 PST 中)。
目前,他们必须直接在代码中编辑路径 - 这对远程用户不友好或效率不高。
有谁知道如何显示一个对话框,允许用户浏览所有可用的文件夹和子文件夹并选择一个?
如果它可以仅限于邮件文件夹,但不是必需的,则可以加分。
【问题讨论】:
尝试使用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
【讨论】:
Dim 更改为 Dim objFolder As MAPIFolder,否则会引发“未定义用户定义类型”错误。