Outlook-VBA 打开所选任务列表项的包含文件夹

Outlook-VBA 打开所选任务列表项的包含文件夹

在 Outlook 2013 中,我使用“任务列表”侧栏:

  • 来自邮件屏幕上,选择看法功能区标签。
  • 在里面布局功能区组中,单击待办事项栏下拉列表,然后选择任务

我“标记”的邮件项目可在此列表中显示。

如果有人可以提供 VBA 代码来打开所选任务项的包含文件夹

我已经尝试过以下代码(来源),但不幸的是它有一个错误。

Public Sub GetItemsFolderPath()
    Dim obj As Object
    Dim F As Outlook.MAPIFolder
    Dim Msg$
    Set obj = Application.ActiveWindow
    If TypeOf obj Is Outlook.Inspector Then
        Set obj = obj.CurrentItem
    Else
        Set obj = obj.Selection(1)
    End If
    Set F = obj.Parent ' <---------- DEBUG INDICATES THE ERROR IS HERE
    Msg = "The path is: " & F.FolderPath & vbCrLf
    Msg = Msg & "Switch to the folder?"
    If MsgBox(Msg, vbYesNo) = vbYes Then
        Set Application.ActiveExplorer.CurrentFolder = F
    End If
End Sub

在此处输入图片描述

编辑

仅当您在尝试运行宏时查看的顶级文件夹与标记项目所在的位置不同时,才会发生错误。

  • 例如,如果您目前正在探索 Exchange 帐户中的某个位置,而标记的邮件项目恰好位于 Exchange 帐户内的某个子文件夹中,则宏将正常工作。
  • 同样,如果您当前正在探索 PST 数据文件中的某个位置,并且标记的邮件项恰好位于该 PST 数据文件的某个子文件夹中,那么宏将正常工作。
  • 但是如果您当前正在浏览一个 PST 数据文件,而标记的项目不在该 PST 内,而是在其他地方(例如不同的 PST 或您的 Exchange 帐户),则宏将出现错误。

答案1

这是 MAPI_E_INVALID_ENTRYID 错误。这可能表明您的 PST 文件已损坏。尝试运行扫描工具实用程序来修复它,然后尝试再次运行脚本。

此外,您可能想要尝试针对另一个 PST 文件中的项目运行该脚本。

编辑:有时 Outlook轮廓已损坏且行为异常。您可以尝试创建新的 Outlook 配置文件。

相关内容