コピーした文字列や選択した文字列を検索する! 検索置換の効果的な使い方!

皆さん、自分の文章内で文字列を検索する場合は、どのようにしていますか?

Ctrl + F  で検索ウィンドウを表示して、文字を入力するのが普通ですよね。

もちろんこの方法でもいいのですが、選択した文字を検索したい場合がよくあります。

このとき、わざわざ検索ウィンドウを表示するのが面倒で、サクサク検索したい!

そんなときに登場するのが↓のマクロです!

ワードでテキストを選択した状態で、↓のマクロを実行すると、選択している文字列が検索されます。

これをショートカットキーに登録しておくと、便利です!

Sub 選択した文字列を検索移動()

‘ 選択した文字列を検索する

置換ボックス初期化

‘ 選択したテキストがない場合に終了

If Selection.Type = wdSelectionIP Then

MsgBox Prompt:=”テキストが選択されていません。終了します。”

Exit Sub

End If

‘ 本文

Selection.Copy

Selection.Find.ClearFormatting

With Selection.Find

.Text = Selection.Text

.Replacement.Text = “^c”

.Forward = True

.Wrap = wdFindContinue

.Format = False

.MatchCase = False

.MatchWholeWord = False

.MatchByte = False

.MatchAllWordForms = False

.MatchSoundsLike = False

.MatchWildcards = False

.MatchFuzzy = False

End With

Selection.Find.Execute

End Sub

↑のマクロでは、置換ボックス初期化 という日本語が書いてあります。

これは、↓のマクロのことで、検索マクロを使うときは、一度、検索置換ボックスを初期化して方が動作が安定するので、そのようにしています。

なので、↓のマクロコードを、おなじモジュール内に書き込んでおいてください。

そうすると、「置換ボックス初期化」と書いておくだけで↓のマクロが実行されて、検索置換ボックスが初期化されるので、コードが短くなり、便利です。

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 = False

.MatchAllWordForms = False

.MatchSoundsLike = False

.MatchWildcards = False

.MatchFuzzy = False

End With

End Sub

さらに、コピーしたテキストを検索したい場合は、↓のマクロが有効です!

たとえば、ブラウザ(ネット)で「マクロ」という文章をコピーして、ワード文書内で「マクロ」という単語を検索したい場合、↓のマクロを実行することで検索できます。

短い単語ならいいですが、「クリップボードの文字列を検索移動」なんていうのを長い文章などを検索したい場合、単にコピーしておくだけでいいので、すごい楽です。

Sub クリップボードの文字列を検索移動()

‘ コピーした文字列を検索する

Dim MyData As DataObject

Dim i As String

On Error GoTo ErrorHandler

置換ボックス初期化

i = ClipBoard_GetData

Selection.Find.ClearFormatting

With Selection.Find

.Text = i

.Forward = True

.Wrap = wdFindContinue

.Format = False

.MatchCase = False

.MatchWholeWord = False

.MatchByte = False

.MatchAllWordForms = False

.MatchSoundsLike = False

.MatchWildcards = False

.MatchFuzzy = False

End With

Selection.Find.Execute

Exit Sub

ErrorHandler:

MsgBox “エラーが発生したので終了します。”

End

End Sub

どうでしょうか??

マクロコードをワードのどこに記載するなどは、すっ飛ばしてコードだけアップしてます。

説明不足なのは認識していますが、他のサイトに詳細な記載があるので、割愛しています。

リンク集にある「みんなのワードマクロ」などがとても参考になるので、そちらをぜひ参照してください。

みんなのワードマクロ → Wordマクロの登録方法、実行方法

Wordマクロで仕事革命(第2回目の記事)

スポンサーリンク
広告1

シェアする

フォローする

スポンサーリンク
広告1