【Word VBA】「検索と置換」ダイアログボックスを初期化(またはお好みに変更)するWordマクロ

2011年8月7日

以前の名古屋の勉強会 で話題になったことです。

Wordは、デフォルトの検索条件が「あいまい検索(日)」になっております。

翻訳やライターの方々にとって、このあいまい検索の「あいまいさ」ゆえに使いづらいという事があると思います。

そこで作ったのが、このマクロ。マクロの記録で作って少し改造しただけです。

このマクロでできること

検索と置換の条件を変更します。

・「あいまい検索(日)」をオフに変更
・「半角と全角の区別をする」をオンに変更
・「検索する文字列」と「置換後の文字列」に設定した文字書式を解除
・「検索する文字列」と「置換後の文字列」の文字を削除

通常、前回の検索と置換の結果が「検索と置換」ダイアログボックスに残ります。
これを全て解除して設定し直すのは案外手間です。

以下の例では、太字の「あいうえお」を探して、赤文字の「あいうえお」に置換した結果が表示されています。

[検索と置換]ダイアログボックス

マクロを実行すると、以下のように設定されます。

[検索と置換]ダイアログボックス

ちょっとしたことですが、うれしいですよね。

キーボードに登録しておいて、検索をする前に実施すればよいと思います。

マクロの解説

マクロの記録機能を実行して検索や置換をすると、以下のようなものが記録されます。

これが、検索や置換の条件に対応しているのでお好きなように書き換えます。

デフォルトでは、日本語のあいまい検索がオンになっていて、半角と全角の区別はオフですが、このマクロでは、半角と全角の区別をオン(MatchByte = True)にして、あいまい検索をオフ(MatchFuzzy = False)にします。

また、以下のマクロでは、ClearFormattingにて、検索する文字列、置換後の文字列それぞれの文字書式をリセットしています。

これは、「検索と置換」ダイアログにおいて、「検索する文字列」や「検索後の文字列」にカーソルを置いた状態で「書式の削除」ボタンをクリックすることに対応しています。よって、前回検索したときに設定した太字や斜体などの書式を全て解除します。

また、Format = Falseにて、検索と置換に書式が含まれないことを定義しています。

マクロの記録なので、Format = Falseも用いていますが、一般的には、ClearFormattingだけで前回の検索・置換に用いた書式を解除することができます。

マクロ


Sub 検索と置換条件のリセット()
  Selection.Find.ClearFormatting
  Selection.Find.Replacement.ClearFormatting
  With Selection.Find
    .Text = ""
    .Replacement.Text = ""
    .Forward = True
    .Wrap = wdFindContinue
    .Format = False
    .MatchCase = False
    .MatchWholeWord = False
    .MatchByte = True
    .MatchAllWordForms = False
    .MatchSoundsLike = False
    .MatchWildcards = False
    .MatchFuzzy = False
  End With
End Sub

関連記事

マクロコードの登録方法

ツールバーのボタン登録

名古屋の勉強会

-コード
-,