VBA(Microsoft Word)を使用したテキストファイルのフォーマット
Wordでテキストファイルをフォーマットする必要があることは珍しいことではありません。たとえば、フォーマットが必要な人から電子メールメッセージを受け取ったり、友人からASCIIファイルを受け取ったりする場合があります。このようなファイルをフォーマットする際の最も一般的な必要性は、行の先頭から余分なスペースまたはタブを削除し、行の終わりから余分なスペースまたはタブを削除し、各行の先頭から「返信」文字を削除し、行を結合して段落を作成します。
これらすべてを手作業で行うことは時間のかかる作業であり、特にファイルが非常に大きい場合は、簡単にバタバタする可能性があります。次のマクロを使用すると、簡単になります。それは、今述べたすべてのタスクを実行し、それらを非常に迅速に実行します。
Sub DoASCII() Selection.HomeKey Unit:=wdStory Selection.Find.ClearFormatting Selection.Find.Replacement.ClearFormatting With Selection.Find .Text = "^p^w" .Replacement.Text = "^p" .Forward = True .Wrap = wdFindContinue .Format = False .MatchCase = False .MatchWholeWord = False .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False End With Selection.Find.Execute Replace:=wdReplaceAll For J = 1 To 4 Selection.Find.Text = "^p> " Selection.Find.Execute Replace:=wdReplaceAll Next J Selection.Find.Text = "^p^w" Selection.Find.Execute Replace:=wdReplaceAll Selection.Find.Text = "^w^p" Selection.Find.Execute Replace:=wdReplaceAll Selection.Find.Text = "^p^p" Selection.Find.Replacement.Text = "[{}]" Selection.Find.Execute Replace:=wdReplaceAll Selection.Find.Text = "^p" Selection.Find.Replacement.Text = " " Selection.Find.Execute Replace:=wdReplaceAll Selection.Find.Text = "[{}]" Selection.Find.Replacement.Text = "^p" Selection.Find.Execute Replace:=wdReplaceAll End Sub
このマクロは、最大4つのレベルの “>”
を置き換えることに注意してください。行頭に文字を入れます。また、段落区切りが必要な場所は、空白行が存在する場所だけであると想定しています。
注:
このページ(または_WordTips_サイトの他のページ)で説明されているマクロの使用方法を知りたい場合は、役立つ情報を含む特別なページを用意しました。
_WordTips_は、費用効果の高いMicrosoftWordトレーニングのソースです。
(Microsoft Wordは、世界で最も人気のあるワードプロセッシングソフトウェアです。)このヒント(10895)は、Microsoft Word 2007、2010、および2013に適用されます。
Wordの古いメニューインターフェイスに関するこのヒントのバージョンは、次の場所にあります: