如何使用VBA在Outlook的当前打开窗口中获取对邮件项的引用?

时间:2010-11-09 14:47:45

标签: vba outlook-vba outlook-2007

我有一个非常适合放入文件夹/应用标志/设置类别的宏,但它只适用于在资源管理器中选择的当前项目。

当我在桌面上收到电子邮件提醒并单击它以打开电子邮件时,我希望能够对该打开的项目运行相同的宏,但我找不到有关如何访问的任何文档该对象的方式与我在资源管理器列表中访问所选项目的方式类似。

我当前的选择逻辑如下所示:

Dim Item As Object
Dim SelectedItems As Selection

Set SelectedItems = Outlook.ActiveExplorer.Selection
For Each Item In SelectedItems
    With Item
        'do stuff
    End With
Next Item

2 个答案:

答案 0 :(得分:10)

显然这是获取当前未清项目的代码:

If TypeName(Application.ActiveWindow) = "Inspector" Then
    Set Item = Application.ActiveWindow.CurrentItem

答案 1 :(得分:7)

我是这样做的。将Item声明为MailItem而不是Object,然后从IntelliSense获得帮助。

Dim CurrentMessage As MailItem
Set CurrentMessage = ActiveInspector.CurrentItem
CurrentMessage.HTMLBody = "[Insert HTML here]"