Outlook で作成した HTML メッセージで改行幅が 1 行分余計に見える原因と対処方法


HTML 形式でメッセージを作成する際、Enter キーで改行すると段落の終りが挿入されます。
Outlook 2003 で Word をエディタとして使わずに Enter キーを押した場合、通常は DIV タグというタグで段落が作成されるのですが、このタグでは段落の間の行間が通常の改行 (HTML では BR タグ) と同様のため、行間があいたように見えません。
一方、Word をエディタとして使った場合 (Outlook 2007 では常に Word がエディタとして使用されます) には、Enter キーを押すと P タグというタグで段落が作成されます。このタグは既定では段落の間に 1 行ほどスペースが空くため、改行のたびに 1 行余計にあいているように見えます。なお、返信や転送の際に元のメッセージで段落タグに P タグが使われている場合や、P タグが使われている段落を本文にコピーしたような場合には Word をエディタとして使わなくても P タグが使われることがあります。

Word でメッセージを作成した場合には、CSS によりスタイルが指定されているため、CSS をサポートしているメールソフトでは、行間が Word で作成していたときと同様に表示されます。しかし、CSS をサポートしていないメールソフトや、何らかの理由で CSS のスタイル定義が削除されてしまった場合、P タグの既定の行間が使用され、1 行余分に改行されているように見えます。

残念ながら、HTML メッセージの段落のタグとして常に DIV を使うというような設定は存在しません。
しかし、改行の際に Shift キーを押しながら Enter キーを押すと、BR タグが挿入されるので、行間は空かなくなります。
ちょっと面倒かもしれませんが、Shift+Enter で改行を行うようにしてみてください。

なお、マクロによりメッセージの送信前に P タグを DIV タグに変換するという方法もあります。
以下は現在編集中の HTML メッセージの P タグを DIV タグに変換するマクロです。

' ここをトリプルクリックでマクロ全体を選択できます。
Public Sub PToDivCurrent()
    Dim strNewHtml As String
    With ActiveInspector.CurrentItem
        strNewHtml = Replace(.HTMLBody, "<p ", "<div ", , , vbTextCompare)
        .HTMLBody = Replace(strNewHtml, "</p>", "</div>", , , vbTextCompare)
    End With
End Sub

また、以下は送信されるメッセージが HTML 形式だった場合に、P タグを DIV タグに変換するマクロです。

' ここをトリプルクリックでマクロ全体を選択できます。
Private Sub Application_ItemSend(ByVal item As Object, Cancel As Boolean)
    If item.MessageClass = "IPM.Note" Then
        If item.BodyFormat = olFormatHTML Then
            Dim strNewHtml As String
            With item
                strNewHtml = Replace(.HTMLBody, "<p ", "<div ", , , vbTextCompare)
                .HTMLBody = Replace(strNewHtml, "</p>", "</div>", , , vbTextCompare)
            End With
        End If
    End If
End Sub

マクロの登録方法やメニューへの追加について

広告

Outlook で作成した HTML メッセージで改行幅が 1 行分余計に見える原因と対処方法」への2件のフィードバック

  1. お世話になります。
    上記のHTMLメール→テキストメールで改行が増えてしまう件は、ご提示いただきましたマクロにより大変助かっております。
    ただし、pをdivに変換したメールに、そのメールを含む返信を送ると、全体が、また2重改行になっています。
    これを防ぐ方法がありましたらUPして頂けると助かります。
    当方、win7(64Bit) outlook2007 です。

  2.  いくらセキュリティ向上のためとはいえ、メール用ソフトは改版のたびに使いづらくなって行ってます。
     これを普通の客には手に負えない手法で防げ、とはなんたる高慢ちきな会社なのですか?!マイクロソフトというところは。

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中