フォームに入力した語句を強調する【素人 Word マクロ】

Microsoft officeのWordVBAでマクロを組みましたので公開します。
インターネットで検索したり、マクロの記録機能を使ったりしたのを組み合わせだけなので、上手くはないですが、一応動くはずです。
office2021です。
必ず、元データのバックアップを取ってから実行してください。
素人の作ったものなので、信用しすぎないでください。

[コード]

Sub 入力語句の強調表示()
    Dim myRange As Range
    Dim myKW As String
    Dim myColor As String
 
    myKW = InputBox("キーワードを入力してください。")
 
    'キーワードが入力されない場合には終了
    If myKW = "" Then Exit Sub
  
    '現在の蛍光ペンの色を保存
    myColor = Options.DefaultHighlightColorIndex
  
    '蛍光ペンの色を黄色に設定
    Options.DefaultHighlightColorIndex = wdYellow
  
    'myRange(オブジェクト変数)を設定
    Set myRange = ActiveDocument.Range(0, 0)
 
    '一括置換を実行(「検索と置換」ダイアログボックスの設定)
    With myRange.Find
      .Text = myKW  '検索する文字列
      .Replacement.Text = ""    '置換後の文字列(空欄でOK)
      .Replacement.Highlight = True  '置換後の文字列の蛍光ペンをオン
      .Forward = True
      .Wrap = wdFindStop
      .Format = True              '書式の設定をオン
      .MatchCase = False          '大文字と小文字の区別する
      .MatchWholeWord = False     '完全に一致する単語だけを検索する
      .MatchByte = False          '半角と全角を区別する
      .MatchAllWordForms = False  '英単語の異なる活用形を検索する
      .MatchSoundsLike = False    'あいまい検索(英)
      .MatchFuzzy = False         'あいまい検索(日)
      .MatchWildcards = False     'ワイルドカードを使用する
      .Execute Replace:=wdReplaceAll
    End With
  
    '蛍光ペンの色を元に戻す
    Options.DefaultHighlightColorIndex = myColor
  
    'myRangeを解放
    Set myRange = Nothing
  
End Sub

この記事が気に入ったらサポートをしてみませんか?