YuTaKoメモ

まずは欧州や日本の法律など、日々の覚書としていきます

目次
欧州の法令 日本の法令
(道路)
保安基準 VBA

【Word】【VBA】【マクロ】文字列の置換 その2(ワイルドカード まとめ)

Word VBA マクロ でのワイルドカードの使用方法をまとめました

 

ワイルドカードOnで使用】(.MatchWildcards = True )

記号

意味

使い方

?

任意の1文字

第?条

 ○:第五条、第百条

 ×:第十二条

*

任意の文字列

第*条

 ○:第五條、第百条、第十二条

 但し、広範囲に検索してしまうので、

 あまり使わない

単語の先頭

単語の末尾

<第

 ○:記号の直後/直前の「第」

 ×:文字の直後/直前の「第」

[*]

のいずれか1文字

[イロハニホヘト]

 ○:イ~トまで、それぞれ1文字

 *=未記入にするとエラー

[☆-★]

☆~★

のいずれか1文字

[0-9] 

  :0~9 のいずれか1文字

[あ-ん]

  :あ~ん のいずれか1文字

   多分、「ぁ」「っ」は検索しない

[ぁ-ん]

  :「ひらがな」全てのいずれか1文字

[!*]

*を除く1文字

[!0-9]

  :0~9をのぞく1文字

{N}

直前の文字を

N回繰り返し

[0-9]{3}

  :3桁の数字表記

   000 ~ 999

{N,}

直前の文字を

N回以上繰り返し

[0-9]{2,}

  :2桁以上の数字表記

   00 ~ 99 ~ 000 ~ 、、、

{N,M}

直前の文字を

N~M回繰り返し

[0-9]{2,5}

  :2桁~5桁の数字表記

   00 ~ 99 ~ 00000 ~ 99999

@

直前の文字を

1回以上繰り返し

[0-9]@

  :1桁以上の数字表記

   0 ~ 9 ~ 00 ~ 99 ~、、、

   {1,} と同じ意味となります

(***)

式、***を

グループ化

第([123])([4-7]{2,3})条の([1-9]{1})

 :第144条の1 ~ 第3777条の9

  これは特に置換で良く使います

^13

改行(補足)

改行文字を検索

(これはワイルドカードOFFでも使用可)

^p

改行(補足)

ワイルドカードOff時の改行文字)

(置換後の改行指定には

 こちらを使用するようにする)

 

ワイルドカードの検索文字をそのまま置換後に使用する場合】

\N

N番目の式を

そのまま使う

検索

:第([12])([4-7]{2,3})条の([1-9]{1})

   第144条の1 ~ 第2777条の9

置換

:第\1\2号の0\3

   第144号の01 ~ 第2777号の09

 

また、ワイルドカード使用時(.MatchWildcards = True とする場合)には、

  •  ・大文字小文字の区別 => できない
  •  ・半角と全角の区別 => できない
  •  ・あいまい検索 => (日)(英)ともできない
  •  ・接頭辞、接尾辞の一致 => 使えない
  •  ・英語の異なる活用形検索 => 使えない

 

ため、同時に設定しておかないと、

その前のチェックによってはエラーがでるようですね、なので、

 

.MatchCase = False                 ‘ 大文字小文字区別しない

.MatchWholeWord = False       ‘ 完全一致単語()

.MatchByte = False                  ‘ 半角全角区別しない

.MatchAllWordForms = False   ‘ 活用形検索

.MatchSoundsLike = False       ‘ あいまい検索()しない

.MatchFuzzy = False  ‘ あいまい検索()しない

.MatchWildcards = True

 

と同時記載しておいた方がよいようですね