----------------------------------------
この記事を新しいサイトに転記しました
----------------------------------------
前回の記事
でも書きましたが、「検索と置換」のダイアログ(下記)で使えるワイルドカードと、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演算子
(プログラムを掲載しました)