【问题标题】:Get Outlook email body without signature, if signature was added (VBA)如果添加了签名,则获取没有签名的 Outlook 电子邮件正文 (VBA)
【发布时间】:2019-03-22 17:10:29
【问题描述】:

我尝试使用以下代码在宏中隔离收到的 Outlook 电子邮件的正文:

Dim inspector As Outlook.inspector, email As Outlook.MailItem, body As String
Set inspector = Application.ActiveInspector
Set email = email.subject
body = email.Body

问题是,当我在 MsgBox 中打印出这个变量的内容时,它包含了这个人的签名。除了Body 之外,还有其他属性可用于此目的吗?有什么方法可以在没有发件人签名的情况下隔离邮件的正文(如果他们添加了一个)?

对于奖励积分:如果email 是转发给我的电子邮件,Body 还包括所有以前电子邮件的信息(标题详细信息/元数据、正文本身和签名,如果存在) 在转发链中。有没有办法只隔离当前邮件的正文而不是所有相关的邮件?

【问题讨论】:

  • 没有。签名没有单独的属性。对于编辑器和对象模型,里面的一切都只是Body。唯一的方法是解析内容并在其上运行一些代码以排除签名。

标签: vba outlook


【解决方案1】:

Outlook 将新签名放在“_MailAutoSig"”书签中,可以通过Document.Bookmarks.Item("_MailAutoSig") 访问,其中Document 可以从Inspector.WordEditor 检索。

【讨论】:

  • “包含此人的签名”似乎表示收到的邮件不是创建的邮件。
  • 为了澄清,niton 是正确的。我只谈论收到的邮件。编辑我的问题以使其更加明显。
  • 正确。书签仅用于正在撰写的消息。一旦发送(或接收)消息,书签就消失了。
猜你喜欢
  • 2013-10-06
  • 1970-01-01
  • 2017-09-08
  • 1970-01-01
  • 2016-10-18
  • 1970-01-01
  • 1970-01-01
  • 2018-04-27
  • 1970-01-01
相关资源
最近更新 更多