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

Mat*_*lly 7 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
Run Code Online (Sandbox Code Playgroud)

Mat*_*lly 10

显然这是获取当前打开项目的代码:

If TypeName(Application.ActiveWindow) = "Inspector" Then
    Set Item = Application.ActiveWindow.CurrentItem
Run Code Online (Sandbox Code Playgroud)


use*_*505 7

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

Dim CurrentMessage As MailItem
Set CurrentMessage = ActiveInspector.CurrentItem
CurrentMessage.HTMLBody = "[Insert HTML here]" 
Run Code Online (Sandbox Code Playgroud)