在MS Outlook中,我想遍历每个选定的电子邮件,并针对每个电子邮件查看源代码并检查源文件(如txt格式)是否包含某个字符串“ XX”。由于使用查看源代码可以将电子邮件内容显示为html格式,因此我想跟踪某些格式的文本,该文本中存在问题。
当前,我正在通过打开邮件手动进行操作,右键单击>查看源代码> Ctrl + F来查找我要查找的字符串。
是否存在使用VBA执行电子邮件中“查看源代码”操作的视图?
Dim individualItem As Object
For Each individualItem In Application.ActiveExplorer.Selection
'View Source Code of the email
'Find "XX" in the email body content
If Instr(individualItem.body, "XX") = 1 Then
Msgbox ("Find string!")
End if
Next Message
谢谢。
答案 0 :(得分:0)
您几乎是正确的,我看到两个问题:
1.)有两个不同的属性Body
(仅文本)和HTMLBody
。
2.)Instr
返回搜索令牌的位置。如果找到令牌,则可以是任何正数。
所以尝试:
If Instr(individualItem.HTMLBody, "XX") <> 0 Then
答案 1 :(得分:0)
“源”是指邮件的MIME标头吗?它们存储在PR_TRANSPORT_MESSAGE_HEADERS
属性中-使用OutlookSpy查看消息(单击IMessage按钮)。您可以使用MailItem.PropertyAccessor.GetProperty
读取该属性。 PR_TRANSPORT_MESSAGE_HEADERS
属性"http://schemas.microsoft.com/mapi/proptag/0x007D001F"
的DASL名称。