ほとんどの電子メールクライアントプログラム(特にHTMLの代わりにプレーンテキストを使用するプログラム)は、電子メールの各行を70文字または72文字で自動的に「分割」します。幸い、通常、単語の途中で改行することはありませんが、70文字または72文字のマークに達する単語の先頭で区切ります。

残念ながら、これはWordで作成する電子メールに悪影響を与える可能性があります。受信者が見たときに、一部の線は奇妙に見え、最適とは言えない場所で途切れ、一般的にかなりファンキーに見えます。もちろん、解決策は、ライン上の適切な場所に到達したときに各ラインを分割することです。このようにして、受信者がメッセージをどのように見るかを事前に制御できます。

必要に応じて、水平方向に7インチまたは7.2インチのスペースしかないようにメッセージの余白を設定することにより、これを手動で行うことができます。次に、Courierなどの12ポイントの等幅フォントを使用してメッセージを入力します。単語が次の行に折り返されたら、単語の先頭にバックスペースしてEnterキーを押します。

適度な量の電子メールしか送信しない場合でも、これは非常に古くなります。より良い解決策は、Wordに休憩をとらせることですが、Wordにはそのような機能はないようです。 (OutlookまたはOutlook Expressでオプションを設定して、自動的に行を分割することができますが、Word内で直接行うほど細かく制御することはできません。)

これは私たちをマクロの領域に導きます。次のマクロを使用して現在のドキュメントを検査し、各段落を自動的に「切り刻んで」、70文字を超える行がないようにすることができます。

Sub ChopItUp()

Dim DocThis As Document, docThat As Document     Dim sParRaw As String     Dim iParCount As Integer, iParOut As Integer     Dim J As Long, X As Integer     Dim iLineWidth As Integer     Dim sLeft As String, sRight As String     Dim sTemp As String

iLineWidth = 70

Set DocThis = ActiveDocument     Documents.Add     Set docThat = ActiveDocument     DocThis.Activate

iParCount = DocThis.Paragraphs.Count     iParOut = 0     For J = 1 To iParCount         sParRaw = DocThis.Paragraphs(J).Range.Text         If Right(sParRaw, 1) = Chr(13) Then             sParRaw = Left(sParRaw, Len(sParRaw) - 1)

End If

sRight = sParRaw         If Len(sRight) > iLineWidth Then             While Len(sRight) > iLineWidth                 sLeft = Left(sRight, iLineWidth)

sRight = Mid(sRight, iLineWidth + 1)

flgDoIt = True                 If Left(sRight, 1) = " " Then                     sRight = Mid(sRight, 2)

flgDoIt = False                 End If                 If Right(sLeft, 1) = " " Then                     sLeft = Left(sLeft, Len(sLeft) - 1)

flgDoIt = False                 End If

If flgDoIt Then                     X = InStr(LTrim(sLeft), " ")

If X > 0 Then                         sTemp = ""

While Right(sLeft, 1) <> " "

sTemp = Right(sLeft, 1) & sTemp                             sLeft = Left(sLeft, Len(sLeft) - 1)

If Len(sLeft) = 0 Then                                 sLeft = sTemp & " "

sTemp = ""

End If                         Wend                         sRight = sTemp & sRight                     End If                     sLeft = Trim(sLeft)

End If

docThat.Paragraphs.Add                 docThat.Paragraphs(docThat.Paragraphs.Count).Range = sLeft                 sLeft = ""

sRight = Trim(sRight)

Wend         End If         docThat.Paragraphs.Add         docThat.Paragraphs(docThat.Paragraphs.Count).Range = sRight     Next J End Sub

このマクロを実行すると、新しいドキュメントが開き、古いドキュメントからそのドキュメントに情報がコピーされ、各行が70文字を超えないようになります。新しいドキュメントにはフォーマットは含まれません。 (プレーンテキストの電子メールをまとめているので、これは問題にはなりません。)別の行幅が必要な場合は、マクロでiLineWidthに割り当てられた値を変更するだけです。

注:

このページ(または_WordTips_サイトの他のページ)で説明されているマクロの使用方法を知りたい場合は、役立つ情報を含む特別なページを用意しました。

link:/ wordribbon-WordTipsMacros [ここをクリックして、新しいブラウザタブでその特別なページを開きます]

_WordTips_は、費用効果の高いMicrosoftWordトレーニングのソースです。

(Microsoft Wordは、世界で最も人気のあるワードプロセッシングソフトウェアです。)このヒント(11466)は、Microsoft Word 2007、2010、2013、2016、2019、およびOffice 365のWordに適用されます。このヒントのバージョンは、ここにWordの古いメニューインターフェイス:

link:/ word-Breaking_Lines_in_E-mail [Breaking Lines inE-mail]