特定のフォントを使用していないテキストの検索(Microsoft Word)
Hilaryは、会社が使用するドキュメントのほとんどがTimesRomanフォントで標準化されていると述べています。ただし、ときどき誰かがドキュメントを編集して、ドキュメントに含まれるテキストの一部に別のフォントを適用することがあります。彼女はそれらの「フォーマットの異常」を簡単に見つけたいと思っています。ヒラリーは、特定のフォントを使用していないテキストをドキュメントで検索する方法があるかどうか疑問に思います。
必要なものを見つけて、場合によっては問題を修正する方法はいくつかあります。まず、次のように検索と置換を使用できます。
。 Ctrl + Fを押します。 Wordは、[検索と置換]ダイアログボックスの[検索]タブを表示します。 (Word 2010以降のバージョンを使用している場合は、リボンの[ホーム]タブを表示し、検索ツールの右側にある下向き矢印をクリックして、[高度な検索]を選択する必要があります。)
。利用可能な場合は、[その他]ボタンをクリックします。
。 [検索する文字列]ボックスが空であることを確認してください。
。 [フォーマット]をクリックして、[フォント]を選択します。 Wordは、[フォントの検索]ダイアログボックスを表示します。 (図1を参照)
。ダイアログボックスのコントロールを使用して、使用しているTimesRomanフォントを検索することを指定します。 (フォントを選択するだけです。必要な場合を除いて、他の設定を指定する必要はありません。)
。 [OK]をクリックします。探しているフォント仕様は、[検索する文字列]ボックスのすぐ下に表示されます。
。 [ハイライトを読む]をクリックして、[すべてハイライト]を選択します。 Wordは、選択したフォントに一致する単語のすべてのインスタンスをドキュメント内で強調表示します。
。 Escを押します。
この時点で、ドキュメント内のTimesRomanのすべてのインスタンスが強調表示されます。ドキュメントを簡単にスクロールして、強調表示されていないものを確認できます。これらは、探している「異常」です。
検索と置換を使用して、TimesRomanフォントではないテキストに目立つフォーマットを適用することもできます。二重下線や赤いテキストなど、ドキュメントで使用していないフォーマットを把握するだけです。ドキュメント全体を選択し(Ctrl + A)、そのフォーマットをドキュメント全体に適用します。次に、検索と置換を使用してTimes Romanのすべてのインスタンスを検索し(上記の手順を参照)、以前に適用した目立つフォーマットを使用せずにTimesRomanに置き換えます。最終的には、目立つフォーマットでフォーマットされたTimesRomanではないテキストのみになります。
必要に応じて、マクロを使用して、ドキュメントで使用されているフォントを変更できます。以下は、ドキュメント内の各単語に使用されているフォントを確認する短いマクロです。
Sub FixFormatAnomalies() Dim aWord For Each aWord In ActiveDocument.Words If aWord.Font.Name <> "Times Roman" Then aWord.Font.Name = "Times Roman" End If Next aWord End Sub
単語に使用されているフォントが目的のフォントと一致しない場合、ルーチンはフォントを変更します。あなたのケースでマクロを機能させるためにあなたがする必要がある唯一のことは、2行で希望のフォント名を変更することです。
(Wordで使用できるフォントのリストに表示されているとおりにフォント名を使用することをお勧めします。大文字の使用には特に注意してください。)
もう1つの方法は、ドキュメント内の各文字を確認し、目的のフォントが使用されていない場合はその文字を強調表示することです。次のマクロは、問題のある文字を黄色で強調表示しています。
Sub HighlightOtherFonts() Dim iCounter As Integer Dim sFontName As String Dim sPrompt As String Dim sTitle As String Dim sDefault As String Dim c As Range ' Gets the name of the font as typed by the user sPrompt = "Type the name of the font that is OK to " sPrompt = sPrompt & "have in the document." sTitle = "Acceptable Font Name" sDefault = ActiveDocument.Styles(wdStyleNormal).Font.Name sFontName = InputBox(sPrompt, sTitle, sDefault) ' Verifies that the name of the font is valid For Each sFont In Application.FontNames If UCase(sFontName) = UCase(sFont) Then ' Changes the user-typed name of the font to ' the version recognized by the application ' Example: 'times new roman' (user-typed) is ' changed to 'Times New Roman' (application version) sFontName = sFont Exit For Else ' Terminates the loop if the name of the font is invalid iCounter = iCounter + 1 If iCounter = FontNames.Count Then sPrompt = "The font name as typed does not match " sPrompt = sPrompt & "any fonts available to the " sPrompt = sPrompt & "application." sTitle = "Font Name Not Found" MsgBox sPrompt, vbOKOnly, sTitle Exit Sub End If End If Next sFont ' Checks each character in the document, highlighting ' if the character's font doesn't match the OK font For Each c In ActiveDocument.Characters If c.Font.Name <> sFontName Then ' Highlight the selected range of text in yellow c.FormattedText.HighlightColorIndex = wdYellow End If Next c End Sub
このマクロの優れた機能の1つは、受け入れ可能なフォントの入力を求めるプロンプトを表示することです。次に、入力内容がシステムで使用可能なフォントの1つと一致することを確認します。マクロはドキュメント内の各文字を個別にチェックするため、実行中はしばらくお待ちいただく必要があります。ドキュメントが長いほど、マクロが作業を完了するのにかかる時間が長くなります。
フォント変更の次の発生を単に見つけたい場合は、次の非常に短いマクロが非常に便利です。
Sub FindDifferentFont() Selection.SelectCurrentFont Selection.Collapse wdCollapseEnd End sub
SelectCurrentFontメソッドは、フォント(書体)またはフォントサイズのいずれかが変更されるまで、現在の選択範囲を拡張します。したがって、ドキュメントの先頭から開始してマクロを実行すると(おそらく、ショートカットキーに割り当てることができます)、挿入ポイントは現在のフォントが終了する場所に移動し、新しいフォントが開始します。
注:
このページ(または_WordTips_サイトの他のページ)で説明されているマクロの使用方法を知りたい場合は、役立つ情報を含む特別なページを用意しました。
_WordTips_は、費用効果の高いMicrosoftWordトレーニングのソースです。
(Microsoft Wordは、世界で最も人気のあるワードプロセッシングソフトウェアです。)このヒント(11070)は、Microsoft Word 2007、2010、2013、2016、2019、およびOffice 365のWordに適用されます。このヒントのバージョンは、ここにWordの古いメニューインターフェイス: