Outlook VBA - 获取当前活动(或开放)电子邮件的详细信息

Kez*_*zer 15 outlook vba

我完全不知道如何检索当前选中或打开的电子邮件的详细信息.事实上,我找不到有关如何访问电子邮件的任何细节.看来你可以遍历整个文件夹结构并获取所有电子邮件,但这对我没有帮助.

我不认为我可以得到一些指示?

是的,我和下一个开发人员一样讨厌VBA,但不幸的是,我的工作中有0.1%涉及与Outlook的集成.

干杯.

76m*_*mel 25

通过查看资源管理器的Selection对象来获取当前选定的电子邮件.

Dim myOlExp As Outlook.Explorer
Dim myOlSel As Outlook.Selection

Set myOlExp = Application.ActiveExplorer
Set myOlSel = myOlExp.Selection
Run Code Online (Sandbox Code Playgroud)

选择对象可以包含许多项目,还包含除邮件之外的其他类型的项目(IPM.Note),即日历应用程序等.因此,如果您只想要邮件项目,您可以查看项目MessageClass

至于当前的电子邮件比较棘手,因为你可以多次打开这些电子邮件,如果你只想要最顶层,你可以使用Application.ActiveInspector,否则你应该查看Application对象的Inspectors Collection.然后,您可以从Inspector 的CurrentItem属性中获取"item" (请记住,这些也可以是非邮件)

希望能满足你的需求