[Outlook マクロ] テキスト形式/HTML 形式メールの本文を書き換える

Outlook マクロの話。Outlook メールの形式がテキスト形式なのか、それとも HTML 形式かによって、メールの本文を書き換える方法が異なることがわかったので、メモしておきます。

メール (MailItem オブジェクト) は、本文の内容を表すプロパティが複数存在します。

メールがテキスト形式の場合、Body プロパティの値を変更します。

この時、Body プロパティではなく HTMLBody プロパティの値を変更すると、メールの形式がテキスト形式から HTML 形式に変更されてしまうため、注意が必要です。

また、メールが HTML 形式の場合、HTMLBody プロパティの値を変更します。

この時、HTMLBody プロパティではなく Body プロパティの値を変更すると、メールの書式が失われてしまうため、これまた注意が必要です。また、設定する値に HTML 特殊文字 (大なり記号とか、アンパサンドとか) が含まれている場合は、HTML エンコードする必要があります

上をふまえて、両方の形式に対応した関数を作成しました。
(本文全体を書き換えるということはあまりないと思うので、本文の一部を置換する関数にしました。)

関数を呼ぶ側は下のようになります。

(リッチ テキスト形式?はて、なんのことやら…)

KPDN

KPDN has written 21 articles

プログラミングとゲームが好きな、しがないにゃんこ好きです。わんこも同じぐらい好きです。最近、物忘れどんどんが酷くなってきた。

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">