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

初心者でもできる!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に設定します。

まとめ

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

他にも疑問やお悩み事があればお気軽に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をコピーしました