Justinは、「ABC 12:34」のように見える多くの参照を含むドキュメントをまとめており、それらすべてのインデックスエントリを作成したいと考えています。

彼は、検索と置換でワイルドカードを使用してこれらの参照を検索できますが、見つかったインスタンスごとにインデックスエントリを作成する方法を見つけることができませんでした。

必要なインデックスを作成する1つの方法は、Microsoftが「一致ファイル」と呼ぶものに依存することです。これは、インデックスを作成する対象のリストと、それらをどのようにインデックスを作成するかを示すものにすぎません。次に、Wordは、メインドキュメントにインデックスエントリを追加する際のガイドとしてコンコーダンスファイルを使用します。

まず、コンコーダンスファイルを見てみましょう。これは非常に単純に構成されており、2列のテーブルが1つしか含まれていません。左側の列の各行は、メインドキュメントでインデックスを作成するさまざまな用語を示している必要があります。ジャスティンの場合、彼はそれぞれのユニークな「ABC12:34」の組み合わせをリストする必要があります。右側の列の各行には、左側の用語に必要なインデックスエントリが含まれます。多くの場合、これは、右側の列が左側の列を単に繰り返すことを意味する場合がありますが、インデックスエントリに別の表現を指定する場合、またはサブエントリを含める場合は必ずしもそうとは限りません。 (サブエントリが必要な場合は、メインのインデックスエントリ、コロン、サブエントリの順に使用します。)

訳語ファイルが完成したら、それを保存します。これで、メインドキュメントを開いて、次の手順を実行できます。

。リボンの[参照]タブを表示します。

。リボンの右側の[インデックス]グループで、[インデックスの挿入]ツールをクリックします。 Wordは[インデックス]ダイアログボックスを表示します。 (図1を参照)

。 [オートマーク]ボタンをクリックします。 Wordは、標準の[開く]ダイアログボックスと非常によく似たダイアログボックスを表示します。

。ダイアログボックスのツールを使用して、作成した訳語ファイルを見つけて選択します。

。 [開く]をクリックします。

それでおしまい; Wordは、コンコーダンスファイルの内容をメインドキュメントにインデックスエントリを追加するためのガイドとして使用します。完了したら、インデックスを好きな場所に挿入できます。

Wordにドキュメントに対して何らかの一括操作を実行させるときに役立つと思うことのひとつは、ドキュメントの余分なコピーを実際に置いておくことです。したがって、上記の手順を使用してコンコーダンスファイルを適用する前に、変更されていないドキュメントのコピーを作成することをお勧めします。これは、私が個人的に一致ファイルで何かを台無しにした場合の安全上の予防措置にすぎません。

訳語ファイルを作成するルートに行きたくない場合は、マクロを使用してインデックスエントリを追加できます。これは例です:

Sub CreateManyIndexEntries()

Dim sFindPattern As String     Dim sTemp As String

' Indicate the pattern to find     sFindPattern = "^$^$^$ ^#^#:^#^#"



' Jump to beginning of document     Selection.HomeKey Unit:=wdStory

' Find first instance of pattern     Selection.Find.ClearFormatting     With Selection.Find         .Text = sFindPattern         .Replacement.Text = ""

.Forward = True         .Wrap = wdFindStop         .Format = False         .MatchCase = False         .MatchWholeWord = False         .MatchWildcards = False         .MatchSoundsLike = False         .MatchAllWordForms = False         .IgnoreSpace = False     End With     Selection.Find.Execute

While Selection.Find.Found         ' Create what we want for index entry,         ' ensuring that any colons are escaped out         sTemp = Replace(Selection, ":", "\:")



' Create the actual index entry         ActiveDocument.Indexes.MarkEntry _           Range:=Selection.Range, _           Entry:=sTemp, _           EntryAutoText:="", _           CrossReference:="", _           CrossReferenceAutoText:="", _           BookmarkName:="", _           Bold:=False, _           Italic:=False

' Set up next Find operation         Selection.Collapse wdCollapseEnd         Selection.Find.Execute     Wend End Sub

マクロはドキュメントの先頭にジャンプし、sFindPattern変数にあるものの最初のインスタンスを見つけます。上に示したように、変数にはパターンが含まれています。3文字の後にスペースが続き、次に2桁、コロン、および2桁です。 (これは、ジャスティンが指定したパターンです。)一致するものが見つかると、見つかったものに一致するインデックスエントリが作成されます。インデックスエントリがドキュメントに挿入され、次に出現するパターンが検索されます。これは、ドキュメント内のパターンのインスタンスごとに繰り返されます。

マクロアプローチは、インデックスエントリを作成するための力ずくの方法です。これは、コンコーダンスファイルを使用するほど柔軟ではないためです。検索対象とは異なるインデックスエントリの作成は処理せず、サブエントリも処理しません。

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

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