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 レンダリング エンジンを使用しています。もう 1 つはpre、固定幅のテキストを含む 1 つの大きなタグです。私が調べたところによると、すべての Outlook 2010 は Word を HTML レンダリング エンジンとして使用しており、オフにするオプションはありません。ですから、なぜ同じ結果が得られないのかわかりません。

相手のコンピュータが外部ソースから電子メールを受信して​​います。彼から Exchange Server 経由で転送されています (申し訳ありませんが、バージョンはわかりません)。発信の仕方が違うのかもしれません。

複数のマシンで動作させたいと思っています。彼と私の違いの理由がわかれば、コードを調整できると思います。

4

1 に答える 1

1

これは当然のことです。メッセージ本文には、プレーン テキスト、RTF、および HTML の 3 種類があることに注意してください。ネイティブ ボディ (RTF など) に応じて、他の 2 種類が動的に生成されます。
メッセージ形式は何ですか?OutlookSpy (IMessage をクリック)で PR_BDOY、PR_HTML、および PR_RTF_COMPRESSED について何が表示されますか?

于 2013-02-16T19:05:49.037 に答える