アミールは、ドキュメント全体でさまざまな強調表示色を使用しています。彼が検索と置換を使用して強調表示されたテキストを検索すると、すべての強調表示色が同じように扱われます。 Amirは、具体的には、検索と置換を使用して、黄色で強調表示されたテキストのみを検索し、ドキュメントで使用されている他の強調表示色を無視するようにしたいと考えています。

これを行う方法に入る前に、用語について少し話し合うことが重要です。 「ハイライトカラー」という用語を使用する場合、特定のテキストに適用される色を指していると考える人もいます。そうではない。ハイライトしてもフォントの色は変わりません。

ハイライトは、リボンの[ホーム]タブの[フォント]グループにある[テキストハイライトカラー]ツールを使用して実行されます。 (図1を参照)

image

図1.Wordを使用すると、さまざまな色を使用してテキストを強調表示できます。

[検索と置換]ダイアログボックスを使用すると、強調表示されているテキストを検索するように指定できます。 ([検索]ボックスに挿入ポイントを置き、[書式]、[ハイライト]の順にクリックします。)[次を検索]をクリックすると、テキストの強調表示に使用されている色に関係なく、Wordは次に強調表示されているテキストを選択します。つまり、黄色、青、緑、またはその他の色で強調表示されたテキストのみを検索するように指定することはできません。それはすべて同じように扱われます。

これを回避する信頼できる方法を見つけることができませんでした。私たちが見たいくつかの情報は、Wordがテキストハイライトカラーツールで指定されたハイライトカラーのみを検出することを示していますが、これは真実ではありません。他の人々は、ハイライトされたテキスト(見つけたい色でハイライトされている)を選択すると

[検索と置換]ダイアログボックスを表示する前に、[次を検索]をクリックすると、そのハイライト色のみが検索されます。これも真実ではありません。すべての場合において、Find Nextは、強調表示に使用される色に関係なく、強調表示されたテキストを検索します。

これを回避する唯一の方法は、マクロを使用して検索を行うことです。 VBAを使用すると、テキストの強調表示に使用される色を検出できます。これが、このアプローチが機能する理由です。次のマクロは、検索と置換を使用して検索を実行しますが、次に、検索されたもののHighlightColorIndexプロパティが何であるかを確認します。 wdYellow(黄色の列挙型)と等しい場合は、テキストが選択され、マクロが終了します。

Sub FindNextYellow()

With Selection.Find         .ClearFormatting         .Replacement.ClearFormatting         .Text = ""

.MatchWildcards = False         .Forward = True         .Wrap = wdFindContinue         .Highlight = True         Do             .Execute         Loop Until Selection.Range.HighlightColorIndex = wdYellow _           Or Not .Found         Selection.Range.Select     End With End Sub

wdYellow列挙型を任意の色の列挙型に変更するだけで、さまざまな色を検索できます。

注:

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

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

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