初心者でもできる!Word VBAでワイルドカードを使った検索・置換の基本と実践

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

Wordで文書を作成していると、特定のパターンに一致する文字列を一括で検索・置換したい場面が出てきます。そんなときに便利なのが、VBA(Visual Basic for Applications)を使ったワイルドカード検索です。今回は、初心者の方でもわかりやすいように、ワイルドカードを使った検索・置換の基本から実践までを解説します。

スポンサーリンク

ワイルドカードとは?

Wordのイメージ

Wordのイメージ

ワイルドカードとは、文字列の一部を「?」や「\*」などの記号で表現し、パターンに一致する文字列を検索するための仕組みです。例えば、「s?t」と指定すると、「sat」や「set」など、sで始まりtで終わる3文字の単語を検索できます。

ワイルドカードの基本記号

ここがポイント!

  • ?任意の1文字
  • *任意の0文字以上
  • 指定した文字のいずれか1文字
  • {n,m}直前の文字がn回以上m回以下繰り返される
  • < > 単語の始まりと終わりを示す

これらの記号を組み合わせることで、複雑なパターンにも対応できます。

VBAでワイルドカードを使った検索・置換の基本

VBAを使ってワイルドカード検索を行うには、まず「Find」オブジェクトを設定し、検索条件を指定します。以下は、3文字のsで始まりtで終わる単語を検索する例です。

With Selection.Find
  .ClearFormatting
  .Text = "s?t"
  .MatchWildcards = True
  .Execute
End With

このコードでは、MatchWildcardsプロパティをTrueに設定することで、ワイルドカード検索を有効にしています。

置換の例

検索した文字列を置換する場合は、以下のようにReplacementプロパティを使用します。

With Selection.Find
  .ClearFormatting
  .Text = "s?t"
  .Replacement.Text = "new"
  .MatchWildcards = True
  .Execute Replace:=wdReplaceAll
End With

このコードでは、「s?t」に一致するすべての文字列を「new」に置換します。

実践!よく使うパターン検索の例

任意の1桁から3桁までの半角数字に「ページ」を組み合わせたパターン

With Selection.Find
  .ClearFormatting
  .Text = "{1,3}ページ"
  .MatchWildcards = True
  .Execute
End With

このコードでは、1桁から3桁の数字と「ページ」が続く文字列を検索します。

カンマ区切りの金額に「円」を組み合わせたパターン

With Selection.Find
  .ClearFormatting
  .Text = "{1,}円"
  .MatchWildcards = True
  .Execute
End With

このコードでは、カンマ区切りの数字と「円」が続く文字列を検索します。

特定のメールアドレスのドメインを置換する例

With Selection.Find
  .ClearFormatting
  .Text = "<+@yahoo\.co\.jp>"
  .MatchWildcards = True
  .Replacement.Text = "<\1@gmail.com>"
  .Execute Replace:=wdReplaceAll
End With

このコードでは、yahoo.co.jpドメインのメールアドレスをgmail.comに置換します。

よくあるエラーとその対処法

ワイルドカード検索を行う際に、以下のようなエラーが発生することがあります。

「置換後の文字列に、指定できない範囲の番号が含まれています」

このエラーは、置換後の文字列に\2などの参照番号が含まれているが、検索パターンに対応するグループが不足している場合に発生します。例えば、検索パターンに2つのグループが必要なのに、1つしか指定していない場合です。

対処法としては、検索パターンに必要なグループを追加するか、置換後の文字列から不要な参照番号を削除します。

ワイルドカードのオプションが正しく設定されていない

ワイルドカード検索を行うには、検索オプションで「ワイルドカードを使用する」をオンにする必要があります。VBAでは、MatchWildcardsプロパティをTrueに設定します。

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

LINE公式

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

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

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

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

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

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

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

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

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

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

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

相談しに行く

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

まとめ

Word VBAでワイルドカードを使った検索・置換は、文書内の特定のパターンを効率的に処理する強力なツールです。初心者の方でも、基本的な記号と構文を覚えることで、さまざまなパターンに対応できます。ぜひ、実際の文書で試してみてください。

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

コメント

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