【コード】Like演算子におけるワイルドカードの利用例

前回の記事 でも書きましたが、「検索と置換」のダイアログ(下記)で使えるワイルドカードと、Like演算子で使えるワイルドカードは異なりますので、注意が必要です。

[検索と置換]ダイアログボックス

(Word2003の「検索と置換」ダイアログ)

「検索と置換」ダイアログで使えるということは、マクロの一般的なFindオブジェクト(検索や置換に関係したもの)で利用できるというわけです。

実は、来週末の名古屋のワードマクロ勉強会 では、ワイルドカードについての勉強をするので、このタイミングでこの質問はあまりにもタイミングが良すぎます。

予習ついでに、Wordのワイルドカード検索と比較しながら、Like演算子で使えるワイルドカードについて簡単に書いておきます。

Like演算子で使えるワイルドカード記号

?   任意の 1 文字
*   任意の数の文字(0文字以上の文字なので、何もない場合もあり)
#   任意の 1 文字の数字 (全角・半角の数字いずれも含みます)
[charlist]   文字列 (charlist) に指定した文字の中の任意の 1 文字
[!charlist]   文字列 (charlist) に指定した文字以外の任意の 1 文字

上記は、ヘルプの記載を少し変更したものですが、この5種類です。

なので、「検索と置換」ダイアログで使える繰り返し記号 {繰り返し数字} のような記載はできません。

たとえば、4桁の半角数字を指定する場合

■Like演算子
[0-9][0-9][0-9][0-9]

■検索と置換ダイアログ(ワイルドカードを使用する)
[0-9]{4}

または、別の記載を使えば、以下のようになります。
この場合には、厳密に半角数字のみを検索できないので、注意が必要です。

かっこや記号と一緒に検索すれば、検索対象を広げつつもある程度絞り込めますから、工夫次第で便利に使えますね。

■Like演算子
#### (4桁の全角・半角数字)
???? (任意の4文字→数字以外も含みますね)

■検索と置換ダイアログ(ワイルドカードを使用する)
????
?{4}

こんなかんじで書けます。

「検索と置換」ダイアログでワイルドカードを用いた場合には、「#」の記号はワイルドカードとして使えません。

よって、任意の1文字として「?」を使っています。

・・・追記 16-07-26・・・・
上記では、[検索と置換]ダイアログボックスにて「ワイルドカードを使用する」で
検索する条件を探りました。ワイルドカードを使わずに、特殊文字で探す方法もあります。

■検索と置換ダイアログ(検索オプションをすべてオフ)
^#^#^#^#

上記の検索により、半角または全角の数字4桁を検索できます。
・・・・・・・・・・・・・・

ワイルドカードの使い方に慣れるために

誰も教えてくれなかった Word効率アップ術」に、Wordのワイルドカード検索・置換の事例が多数(60以上)掲載されています。

ぜひご覧ください。

実際に入力して体験するとより理解が深まると思います。

参考記事

知りたい操作がすぐわかる標準Word2003 全機能Bible (P.732にワイルドカードの説明あり)

Like演算子  (プログラムを掲載しました)

トップへ戻る