在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帐户,则该宏将出现错误。
你是如何运行这个宏的?
—
2015年
转到文件 > 选项 > 自定义功能区。选择适合添加按钮的位置的选项卡。对我来说,在右上角的下拉列表中,我选择工具选项卡,然后选择并展开任务列表。单击“ 新建组”并添加一个新组(我将新组命名为“文件夹”)。选择新组。然后从左下拉列表中选择宏。子例程将可见(必须使用“Public Sub”声明)。从列表中选择子例程,然后单击添加>>。关闭选项后,单击任务时,您将在功能区中看到按钮。
适用于Exchange帐户。您使用什么类型的Outlook帐户(todo项目所在的位置)?
—
2015年
哇它确实在我的Exchange收件箱上工作(我甚至没想过要测试它)。我标记的所有邮件通常都在PST文件中。看起来这个问题只适用于PST文件中的任何标记项。
—
Lakey 2015年
对于使用PST文件的POP3帐户,它实际上适用于我。您的PST文件是属于POP3帐户还是仅作为独立的PST文件连接?
—
2015年