サブスクライバーのReyzlKalifowicz-Waletzkyは、Wordを電子メールエディターとして使用するときに、行の長さを78文字以下に強制する方法があるかどうかを尋ねました。返答する前に、少し哲学的な議論が必要かもしれません…​

インターネットを介して日常的に送信される電子メールには2つのタイプがあります。

最初のタイプはテキストのみの電子メールです。これは従来のタイプの電子メールであり、テキストは地球上のすべての電子メールクライアントで表示できます。

メッセージの各行に特定の文字数しか含まれないことを期待するソフ​​トウェア(メーリングリストマネージャーなど)を使用している場合は、テキストのみの電子メールメッセージを期待していることは間違いありません。

人々が送信する他のタイプの電子メールはHTML電子メールです。背景がきれいで、旗を振って、サイズの種類が異なり、太字や斜体などの属性を持つメッセージを受け取った場合、そのメッセージはHTML電子メールです。

メッセージにテキストのみが含まれている場合でも、それはHTML電子メールです。

これらのタイプのメッセージは、電子メールクライアントでのテキストの表示方法を制御するために、Webページに存在するものと同じフォーマットコードを使用します。

問題は、すべての電子メールクライアントがHTML電子メールを表示できるわけではないということです。彼らがそれを表示できない場合、彼らはあなたのメッセージを見ることができない可能性があります。 (これもまた、メーリングリストマネージャーなどの一部のプログラムがテキストのみのメッセージを必要とする理由です。)さらに、HTML電子メールメッセージは、追加のフォーマットのために、同等のテキストのみのメッセージよりも常に大きくなります。メッセージとともに送信される情報。

Wordは、電子メールエディタとして使用される場合、主にHTMLメッセージの作成に使用されます。残念ながら、行の長さはHTMLメッセージの問題ではないため、Wordには行の長さを制御する設定はありません。このため、テキストのみの電子メールメッセージを作成する必要がある場合は、その目的のために特別に設計されたプログラムを使用して作成することをお勧めします。ほとんどの電子メールクライアント(Outlook、Outlook Express、Eudoraを含む)は、テキストのみの電子メールメッセージを作成します。最大行長を指定することもできます。

電子メールクライアントとしてWordを使用する必要がある場合は、問題に取り組むためにできることがいくつかあります。 1つの方法は、等幅フォントを使用し、1行あたり最大78文字になるように余白を設定してから、改行付きのテキストのみの形式を使用してファイルを保存することです。 (Word2002またはWord2003を使用している場合は、MS-DOSテキストレイアウト形式を使用してファイルを保存する必要があります。)

もちろん、これらの手順に従うと、適切な行の長さのファイルが取得されますが、適切な行の長さの電子メールメッセージは取得されません。それでも、ファイルを電子メールメッセージとして送信する方法を見つける必要があります。たとえば、保存したファイルをWordにロードして、送信することができます。

使用できる別のアプローチは、目的の行の長さで行を分割するマクロを作成することです。マクロの理由は、各行の実際の文字を数え、希望の長さまたはその前にキャリッジリターンを配置する必要があるためです。問題を複雑にするために、マクロは、スペースの出現時にのみ行を分割することを確認する必要があります。

幸い、VBAを使用すると、ドキュメント内の単語を調べることができ、スペースで自動的に分割されます。次のマクロは、ドキュメントを目的の行の長さに分割します。

Sub ForceTo78()

Const cstrPunct As String = "!%*)}]:;>,."

Dim rngChar As Range

For Each rngChar In ActiveDocument.Words         If rngChar.Information(wdFirstCharacterColumnNumber) > 77 Then             If InStr(1, cstrPunct, Left(rngChar, 1), _               vbTextCompare) = 0 Then rngChar.InsertParagraphBefore         End If     Next rngChar End Sub

このマクロは77文字を超えるものをすべて壊すことに注意してください。この理由は非常に単純です。VBAは、ドキュメント内の「単語」を調べるときに、文字と末尾の句読点の間にブレークが発生したと見なします。このマクロは、返された単語を調べるだけで、句読点で始まる場合はその単語を無視します。

肝心なのは、マクロは、78番目の文字位置に単一の句読点が表示されている段落を正しく処理するということです。

ただし、有効な単語が句読点で始まる場合( “.com”のように)

その単語が78番目の文字位置にある場合でも、マクロはその単語を無視し、行にとどまることができます。これにより、まれに、78文字より長い行が発生する可能性があります。

注:

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

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

(Microsoft Wordは、世界で最も人気のあるワードプロセッシングソフトウェアです。)このヒント(1572)は、Microsoft Word 97、2000、2002、および2003に適用されます。