ラルフは、各段落の左側に特定の英字を必要とするドキュメントを書き込みます。これらの文字は、行番号と同様に余白に表示されます。文字は通常、ドキュメント全体で同じです。つまり、段落ごとに文字が変わることはありません。ラルフは、これらの文字を各段落の横に自動的に挿入する方法があるかどうか疑問に思います。

これを達成するために使用できるアプローチがいくつかあります。

まず、各段落の先頭に英字を入力して、Tabキーを押すことができます。次に、最初の行を左マージンに少し配置するぶら下げインデントを使用するように段落をフォーマットします。これは、段落に適用できるスタイルを使用して簡単に行うことができます。

これを実行したい段落がたくさんある場合は、英字を入力して段落ごとにTabキーを押すのは面倒な場合があります。

幸いなことに、面倒な作業を処理できるマクロを簡単に作成できます。

Sub FmtParagraphs()

Dim p As Paragraph

For Each p In ActiveDocument.Content.Paragraphs         If p.Style = "MyAlpha" Then             With p.Range                 .InsertBefore "R" & Chr(9)

End With         End If     Next p End Sub

マクロは、MyAlphaスタイルを使用するドキュメント内の任意の段落を検索します。 (これは、MyAlpha “がこのアプローチを実行するために作成した特別なぶら下げインデントスタイルであることを前提としています。)それが見つかると、段落の前に文字” R “を挿入し、次にタブ文字を挿入します。このマクロは簡単に変更できます。別のスタイル名を確認したり、別の英字を追加したりします。

同様のアプローチは、変更された箇条書きを利用するスタイルを定義することです。通常の箇条書きを使用する代わりに、次のように定義できます。英字を箇条書きとして使用するためのリスト。段落にスタイルを適用すると、英字が自動的に表示されるため、段落の本体から分離するために入力したりタブを入力したりする必要はありません。

||||これまでに説明した両方のアプローチは、比較的単純なドキュメントではすばやく簡単に機能します。ただし、ドキュメントに通常の番号付きリストまたは箇条書きが含まれている場合は機能しません。その場合は、次のようにする必要があります。別のアプローチを使用します—テキストボックスに依存するアプローチ英字の配置。

このアプローチが複雑なドキュメントに適している理由は、スタイルに依存しないためです。つまり、ドキュメントにはさまざまな番号付きの箇条書きリストを含めることができますが、それでも各段落の左側の余白に英字を配置できます。

さらに、テキストボックスは、各段落に固定され、Wordがドキュメントを再ページングするときに段落とともに移動するようにフォーマットできます。

もちろん、300段落のドキュメントがある場合、各段落にテキストボックスを追加するのは面倒な場合があり、各テキストボックスのフォーマットを開始するときに面倒なことは言うまでもありません。繰り返しますが、マクロは退屈な作業を軽減するのに役立ちます。次のマクロを使用して、選択したテキストボックスをドキュメント内の他のすべての段落に自動的にコピーできます。

Sub TextBoxesInMargin()

Dim aShape As Shape     Dim aPara As Paragraph     Dim j As Long     Dim shpTop As Single     Dim shpLeft As Single     Dim aRange As Range

If ActiveDocument.Shapes.Count = 0 Then GoTo noTextbox     If Selection.ShapeRange.Count <> 1 Then GoTo noTextbox

Set aShape = Selection.ShapeRange(1)

With aShape         If .Type <> msoTextBox Then GoTo noTextbox         If aShape.RelativeVerticalPosition <> wdRelativeVerticalPositionParagraph Then             MsgBox "The text box must be positioned relative to a paragraph"

Exit Sub         End If         shpTop = .Top         shpLeft = .Left         aShape.Select         Selection.Copy     End With

For Each aPara In ActiveDocument.Paragraphs         Set aRange = aPara.Range         If Len(aRange.Text) > 1 Then ' only non blank paragraphs             aRange.Select             Selection.Paste             Selection.ShapeRange.Top = shpTop             Selection.ShapeRange.Left = shpLeft         End If     Next aPara     Exit Sub

noTextbox:

MsgBox "Text box is not selected"

End Sub

マクロを使用するには、1つの小さなテキストボックスをフォーマットして英字を保持します。テキストボックスが、横に配置する段落に固定されていること、およびその位置が段落に対して正しいことを確認してください。テキストボックスが希望どおりに表示されたら、テキストボックスを選択して、マクロを実行します。テキストボックスがコピーされ、ドキュメント内の他のすべての段落の横に貼り付けられます。

注:

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

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

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

(Microsoft Wordは、世界で最も人気のあるワードプロセッシングソフトウェアです。)このヒント(12738)は、Microsoft Word 2007、2010、2013、2016、2019、およびOffice365のWordに適用されます。