Word VBAでのSelection.Findの使い方【初心者向け解決ガイド】

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

Wordで文書を作成しているとき、特定の単語やフレーズを素早く見つけて強調表示したり、書式を変更したりすることがありますよね。そんなときに役立つのが、Word VBAの「Selection.Find」機能です。今回は、この機能を初心者の方にもわかりやすく解説します。

スポンサーリンク

Selection.Findとは?

Wordのイメージ

Wordのイメージ

Selection.Findは、Word VBAで文書内のテキストを検索するための機能です。これを使うと、指定した単語やフレーズを文書内で探し出し、見つかった場所を操作することができます。

例えば、「Microsoft」という単語を文書内で探してみましょう。

vba
With Selection.Find
.Text = "Microsoft"
.Forward = True
.Wrap = wdFindStop
.Execute
End With

このコードは、カーソルの位置から文書の終わりに向かって「Microsoft」を探し、見つかったらその位置にカーソルを移動します。

Selection.Findの主なプロパティと使い方

Selection.Findには、検索を細かく制御するためのさまざまなプロパティがあります。以下に代表的なものを紹介します。

ここがポイント!

  • .Text検索するテキストを指定します。
  • .ForwardTrueに設定すると、カーソルの位置から文書の終わりに向かって検索します。Falseに設定すると、カーソルの位置から文書の先頭に向かって検索します。
  • .Wrap検索が文書の終わりに達したときの動作を指定します。wdFindStopは検索を停止し、wdFindContinueは文書の先頭に戻って検索を続けます。
  • .MatchCaseTrueに設定すると、大文字と小文字を区別して検索します。
  • .MatchWholeWordTrueに設定すると、指定したテキストが単語全体として一致する場合のみ検索します。
  • .MatchWildcardsTrueに設定すると、ワイルドカードを使用して検索します。

これらのプロパティを組み合わせることで、より精密な検索が可能になります。

実際の例特定の書式を持つテキストを検索して強調表示する

例えば、太字の「Hello」という単語を文書内で探して、その部分を強調表示したい場合、以下のようなコードを使用します。

vba
With Selection.Find
.ClearFormatting
.Font.Bold = True
.Text = "Hello"
.Execute
If .Found Then
Selection.Range.HighlightColorIndex = wdYellow
End If
End With

このコードは、太字の「Hello」を検索し、見つかったらその部分を黄色で強調表示します。

よくある質問や疑問

Q1: Selection.Findを使うとき、カーソルの位置はどうなりますか?

Selection.Findを使用すると、検索が成功した場合、その位置にカーソルが移動します。カーソルの位置を変更せずに検索を行いたい場合は、Rangeオブジェクトを使用する方法があります。

Q2: ワイルドカードを使った検索はどうやるのですか?

ワイルドカードを使用するには、.MatchWildcardsプロパティをTrueに設定し、.Textプロパティにワイルドカードを含む検索文字列を指定します。例えば、「*(ing)」と指定すると、「ing」で終わる単語をすべて検索できます。

Q3: 検索結果が見つからない場合、どうすればよいですか?

検索が見つからない場合、.FoundプロパティがFalseを返します。検索条件が正しいか、文書内にそのテキストが存在するかを再確認してください。また、.WrapプロパティをwdFindContinueに設定すると、文書の先頭に戻って検索を続けることができます。

今すぐ解決したい!どうしたらいい?

LINE公式

いま、あなたを悩ませているITの問題を解決します!
「エラーメッセージ、フリーズ、接続不良…もうイライラしない!」

あなたはこんな経験はありませんか?

✅ ExcelやWordの使い方がわからない💦
✅ 仕事の締め切り直前にパソコンがフリーズ💦
✅ 家族との大切な写真が突然見られなくなった💦
✅ オンライン会議に参加できずに焦った💦
✅ スマホの重くて重要な連絡ができなかった💦

平均的な人は、こうしたパソコンやスマホ関連の問題で年間73時間(約9日分の働く時間!)を無駄にしています。あなたの大切な時間が今この悩んでいる瞬間も失われています。

LINEでメッセージを送れば即時解決!

すでに多くの方が私の公式LINEからお悩みを解決しています。

最新のAIを使った自動応答機能を活用していますので、24時間いつでも即返信いたします。

誰でも無料で使えますので、安心して使えます。

問題は先のばしにするほど深刻化します。

小さなエラーがデータ消失重大なシステム障害につながることも。解決できずに大切な機会を逃すリスクは、あなたが思う以上に高いのです。

あなたが今困っていて、すぐにでも解決したいのであれば下のボタンをクリックして、LINEからあなたのお困りごとを送って下さい。

相談しに行く

ぜひ、あなたの悩みを私に解決させてください。

まとめ

Word VBAのSelection.Find機能を使うと、文書内の特定のテキストを簡単に検索し、操作することができます。初心者の方でも、基本的な使い方を覚えることで、文書作成の効率が大幅に向上します。ぜひ、今回紹介したコードを試してみてください。

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

コメント

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