当サイトの記事にはプロモーションが含まれています。

Word VBAのFind.Executeメソッドを使いこなす!初心者でもわかる実践ガイド

パソコンパソコン・スマホ教室
スポンサーリンク

Wordで文書を編集していると、「特定の文字列を一括で変更したい」「書式を統一したい」といった場面がよくあります。そんなときに活躍するのが、Word VBAのFind.Executeメソッドです。今回は、このメソッドの基本から応用まで、初心者の方にもわかりやすく解説します。

スポンサーリンク

Find.Executeメソッドとは?

Wordのイメージ

Wordのイメージ

Find.Executeメソッドは、Word VBAで文字列や書式を検索するためのメソッドです。手動で「検索と置換」を行うのと同じように、プログラムで自動的に検索を実行できます。

例えば、文書内の「Word」をすべて「ワード」に置き換えたい場合、以下のようなコードを使います。

vba
Sub ReplaceWord()
With Selection.Find
.Text = "Word"
.Replacement.Text = "ワード"
.Execute Replace:=wdReplaceAll
End With
End Sub

このコードでは、Selection.Findオブジェクトを使って検索条件を設定し、Executeメソッドで実際に検索と置換を実行しています。

主なパラメーターの説明

Find.Executeメソッドには、さまざまなオプションのパラメーターがあります。以下に代表的なものを紹介します。

ここがポイント!

  • FindText: 検索する文字列を指定します。
  • ReplaceWith: 置換後の文字列を指定します。
  • Replace: 置換の方法を指定します。
    wdReplaceAll

    で全て置換、

    wdReplaceOne

    で1回のみ置換、

    wdReplaceNone

    で置換しません。

  • MatchCase: 大文字と小文字を区別するかどうかを指定します。
  • MatchWholeWord: 完全に一致する単語のみを検索するかどうかを指定します。
  • MatchWildcards: ワイルドカードを使用するかどうかを指定します。
  • Forward: 検索の方向を指定します。
    True

    で前方、

    False

    で後方です。

  • Wrap: 検索が文書の末尾に達したときの動作を指定します。
    wdFindStop

    で停止、

    wdFindContinue

    で最初に戻ります。

  • Format: 書式を検索するかどうかを指定します。

これらのパラメーターを組み合わせることで、複雑な検索条件にも対応できます。

Find.Executeメソッドを使った実践例

次に、Find.Executeメソッドを使った実践的な例をいくつか紹介します。

例1: 特定の文字列を強調表示する

文書内の「重要」という文字列を見つけて、強調表示(蛍光ペン)するコードです。

vba
Sub HighlightImportant()
With Selection.Find
.Text = "重要"
.Replacement.Highlight = True
.Execute Replace:=wdReplaceAll
End With
End Sub

このコードでは、Find.Executeメソッドを使って「重要」を検索し、見つかった箇所に蛍光ペンを適用しています。

例2: 検索結果が見つからなかった場合の処理

検索した文字列が見つからなかった場合に、メッセージを表示するコードです。

vba
Sub SearchAndNotify()
With Selection.Find
.Text = "検索対象"
If .Execute Then
MsgBox "見つかりました!"
Else
MsgBox "見つかりませんでした。"
End If
End With
End Sub

このコードでは、Find.Executeメソッドの戻り値を使って、検索結果の有無を判定しています。

例3: ワイルドカードを使った検索

ワイルドカードを使って、特定のパターンに一致する文字列を検索するコードです。

vba
Sub FindPattern()
With Selection.Find
.Text = "<{3}>"
.MatchWildcards = True
.Execute
End With
End Sub

このコードでは、3文字のアルファベットに一致する文字列を検索しています。

よくある質問や疑問

Q1: Find.Executeメソッドの戻り値は何ですか?

Find.Executeメソッドは、検索が成功した場合にTrueを、失敗した場合にFalseを返します。これを利用して、検索結果の有無を判定できます。

Q2: Find.Executeメソッドで置換を行う際、書式はどうなりますか?

置換後の文字列に書式を適用するには、Replacementオブジェクトのプロパティを設定します。例えば、

Replacement.Font.Bold = True

で太字にすることができます。

Q3: Find.Executeメソッドを使った検索で、カーソルの位置はどうなりますか?

Find.Executeメソッドを使った検索では、カーソルの位置が検索結果の位置に移動します。これを利用して、検索した位置での処理を行うことができます。

まとめ

Word VBAのFind.Executeメソッドは、文書内の文字列や書式を効率的に検索・置換するための強力なツールです。基本的な使い方をマスターすれば、日々の文書作成や編集作業が格段に効率化されます。ぜひ、実際の業務で活用してみてください。

他にも疑問やお悩み事があれば、お気軽にLINEからお声掛けください。

この記事を書いた人
この記事を書いた人

企業の情報システム部門で10年以上、PC・アカウント・社内ネットワーク・Microsoft 365/Google Workspace運用を担当。年間数百件の問い合わせ対応(PC不調、メール送受信、Excel/Word資料、Teams会議、スマホ連携など)を通じて、初心者がつまずくポイントを「再現→原因切り分け→最短解決」の手順に落とし込んできました

現場や身近で実際に起きたトラブルをベースに、手順だけでなく「なぜそうなるか」「失敗しやすい落とし穴」「安全な設定(セキュリティ)」まで含めて解説します。

相談窓口(問い合わせ/LINE等)を設け、記事で解決しないケースも個別にサポートしていますので「パソコンが急に動かなくなった」「スマホの設定がわからない」などの悩みは一人で抱え込まず、お気軽にご相談ください。

【お問い合わせは下記URLから】
https://m32006400n.xsrv.jp/inquiry-form/

【公式LINEは下記URLから】
https://lin.ee/t8TDjcj

uri uriをフォローする
スポンサーリンク
よかったらシェアしてね! /
uri uriをフォローする

コメント

タイトルとURLをコピーしました