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文字として「?」を使っています。


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

ぜひご覧ください。

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


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

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