0

我正在尝试通过 VBA 从电子邮件(Outlook 2010)中提取一些文本。我在我的电脑上开发,但在另一台电脑上没有得到相同的结果。事实证明,HTMLBody 属性在每台机器上都返回了不同的东西。这是每个的前几行。

从另一台计算机:

<html><head>
<style type="text/css"><!--  PRE  {font-family:Courier New; font-size: 9pt;}--></style></head><body><pre>
Account #xxxxxx              `

To align the following data, change the font size to 9 in Courier New.    

SALT LAKE CITY, UT                                     2013-02-15 10:00:24 EST

从我的电脑:

<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" 

显然我的使用的是 Word 渲染引擎。另一个只是一个pre带有固定宽度文本的大标签。根据我的谷歌搜索,所有 Outlook 2010 都使用 Word 作为 HTML 呈现引擎,没有选项可以将其关闭。所以我不确定为什么我们没有得到相同的结果。

另一个人的计算机正在从外部来源获取电子邮件。我通过我们的 Exchange Server 从他那里得到它作为转发(抱歉,不知道版本)。也许他们发送的方式会有所不同。

我想让它在多台机器上工作。如果我能理解为什么他和我的不同,我想我可以调整代码。

4

1 回答 1

1

这是意料之中的 - 请记住,有 3 种消息正文:纯文本、RTF 和 HTML。根据本机主体(例如 RTF),其他两种是动态生成的。
消息格式是什么?您在OutlookSpy中看到的 PR_BDOY、PR_HTML 和 PR_RTF_COMPRESSED 是什么(单击 IMessage)?

于 2013-02-16T19:05:49.037 回答