在Excel VBA中是否可以读出特定主题的Outlook?

时间:2018-09-11 11:05:41

标签: excel vba excel-vba email outlook

我经常在学习时使用您的网站。虽然我必须为一家公司编程VBA事。

虽然我对此很坚强,但到目前为止我一切都很好。

我的最后一个项目是一个列表,包括以下步骤:

  1. 使用其他工作簿中的新数据更新自身(选中)

  2. 将每封电子邮件发送到其中包含个人数据的一组特定人员作为excel工作簿(也请选中)

  3. 从一群人那里接收到可能已更改值和更正的邮件。 (正在进行中...不知道如何到达那里)

最后一点困扰我,因为如果有办法,很难做到这一点。该公司使用Excel / Office 2017和Outlook。

我想浏览Outlook应用程序中的特定主题。然后从此邮件中打开excel工作簿,并更正项目的数据。

我一直在寻找周围的东西,并发现一些较旧的线程现在不再起作用。有人可以回答“不,不可能”还是“是的,你可以这样做”:D非常感谢其他人。

1 个答案:

答案 0 :(得分:0)

是的,绝对有可能。您需要使用“主题”属性:

有关此属性的一些其他文档,以及Microsoft的示例,请参见此处: https://docs.microsoft.com/en-us/office/vba/api/outlook.mailitem.subject

这是一个快速而肮脏的示例-您可能需要调试此示例,但是它应该可以帮助您达到目标。此子项将显示您当前选择的电子邮件主题的MsgBox

Sub Selected_Email_Subject()

    Dim OutApp As Object
    Dim OutMail As Object

    Set OutApp = CreateObject("Outlook.Application")
    Set GetCurrentItem = OutApp.ActiveInspector.CurrentItem


    If GetCurrentItem Is Nothing Then
            Set GetCurrentItem = olApp.ActiveExplorer.Selection.Item(1)
    End If


    MsgBox(GetCurrentItem.Subject)

End Sub