【发布时间】:2016-01-20 14:02:38
【问题描述】:
我正在使用 excel 2010 并创建了以下 vba 代码,该代码可以查找主题标题中包含单词 test 的电子邮件,然后在 excel 中显示带有该电子邮件正文的消息框:
Sub GetFromInbox()
Dim olApp As Outlook.Application
Dim olNs As Outlook.Namespace
Dim olFldr As Outlook.MAPIFolder
Dim olItms As Outlook.Items
Dim olMail As Variant
Dim i As Long
Set olApp = New Outlook.Application
Set olNs = olApp.GetNamespace("MAPI")
Set olFldr = olNs.GetDefaultFolder(olFolderInbox)
Set olItms = olFldr.Items
Set objItem = olApp.ActiveExplorer.Selection.Item(1)
olItms.Sort "Subject"
i = 1
For Each olMail In olItms
If InStr(olMail.Subject, "Test") > 0 Then
MsgBox olMail.Body
i = i + 1
End If
Next olMail
Set olFldr = Nothing
Set olNs = Nothing
Set olApp = Nothing
End Sub
我在这里的最终目的是在代码中添加更多 if 条件,以便只有当前选择的电子邮件或在 Outlook 中打开的电子邮件的电子邮件正文才会显示在我的 excel 消息框中
例如,假设我们有几封主题为“test”的电子邮件,就目前而言,代码将在不同的消息框中依次显示所有这些主题为“test”的电子邮件的正文。
但如果邮件主题是“测试”,则 Outlook 中当前选择/打开的电子邮件应该只显示一个消息框。
请有人告诉我如何做到这一点?
【问题讨论】: