選択されている文字列を文書内で検索するマクロ(文書の末尾で検索をとめたりとめなかったり) | みんなのワードマクロ

みんなのワードマクロ

ワードマクロで、文書作成とオフィス事務を効率化!!

前回の記事「選択されている文字列を文書内で検索するマクロ 」にて紹介したマクロの改造版です。

前回のマクロは、文書全体を検索対象としていました。

今回のマクロは、文書の末尾まで検索したら、いったん以下のメッセージを出して、検索をとめます。


みんなのワードマクロ


[はい(Y)]ボタンをクリックすれば、文書の先頭から検索が再開されます。


▼マクロ

Sub Search_Text_2()

Dim myText As String   ' 選択されている文字列

If Selection.Start = Selection.End Then
  myText = ""
Else
  myText = Selection.Text
End If

'あいまい検索を実施
  Selection.Find.ClearFormatting
  Selection.Find.Replacement.ClearFormatting
  With Selection.Find
    .Text = myText
    .Replacement.Text = ""
    .Forward = True
    .Wrap = wdFindAsk
    .Format = False
    .MatchCase = False
    .MatchWholeWord = False
    .MatchByte = False
    .MatchAllWordForms = False
    .MatchSoundsLike = False
    .MatchWildcards = False
    .MatchFuzzy = True
  End With
  Selection.Find.Execute
 
End Sub


▼解説
上記の青文字部分を変更しました。

この部分の設定により、以下のように検索方法が変化します。

.Wrap = wdFindAsk
文書の末尾で検索をいったんとめて、検索を続けるか否かを質問します。Find したあと、Askですね。

.Wrap = wdFindStop
文書の末尾で検索を終了します。

.Wrap = WdContinue
文書の末尾に来たら、続けて先頭から検索を再開します。

目的に応じて使い分けてみてください。


▼関連記事
選択されている文字列を文書内で検索するマクロ

マクロコードの登録方法