Outlook でレンダリングしたときにテキストの列が整列しないようなフォントでフォーマットされたシステム生成の電子メールを受信したユーザーがいます。必要なフォントはわかっており、ユーザーの PC にインストールされています。グループごとに、彼はメッセージを受け取った後、メッセージのフォントを変更するだけで済み、すべて順調でした。ただし、Outlook (最近移動したもの) にはそのための機能がないようです。
Microsoft フォーラムで提案された修正は、メッセージの受信時にルールを使用して VBA スクリプトを実行し、メッセージを RTF に変換してからフォントを設定することでした。
これは VBA への私の最初の進出ですが、過去にいくつかの小さな vb スクリプトを実行したことがあるので、おそらく最初はベースから外れていると思いますが、これが私が試したことです。
Sub TestMessageRule(Message As Outlook.MailItem)
Set Message.BodyFormat = 3
End Sub
これで「無効なプロパティの使用」というエラーが表示されたので、そのように変更することはできないと思います。次のコードを含むテスト メールを自分に送信して、1=プレーン テキスト、2=HTML、および 3=リッチ テキストを取得しました。
Sub TestMessageRule(Message As Outlook.MailItem)
MsgBox Message.BodyFormat
End Sub
では、問題は、BodyFormat プロパティを適切に変更するにはどうすればよいか、またはこれについてもっと良い方法があるのでしょうか?
それから、特に気分がよければ、本文のフォントを変更する方法を教えていただけないでしょうか。
ありがとう、ブライアン
これが最終的に私のために働いたものです:
Sub TestMessageRule(Message As Outlook.MailItem)
Dim BodyString As String
Message.BodyFormat = olFormatHTML
BodyString = Replace(Message.HTMLBody, "<FONT SIZE=2>", "<FONT SIZE=3 FACE=""COMIC SANS MS"">")
Message.HTMLBody = BodyString
Message.Save
End Sub
明らかに、Comic Sans MS は私の希望するエンド フォントではありませんが、テスト用としては非常に目立ちます。助けてくれてありがとう!