0

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 は私の希望するエンド フォントではありませんが、テスト用としては非常に目立ちます。助けてくれてありがとう!

4

1 に答える 1

0

スカラー プロパティを設定するときに「set」を使用しないでください。

Message.BodyFormat = 3

そうは言っても、単純にプレーン テキストの Body プロパティを読み取り、それを使用して、指定されたフォントで適切にフォーマットされた HTML を構築し、HTMLBody プロパティを設定します。

于 2013-03-14T21:55:58.720 に答える