【VBA】正規表現の使用方法【コピペで使える】
今回は、Excel VBAで正規表現を使用した文字列の評価方法をシェアします。
ソースコード
早速ですが、ソースコードを以下に共有します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
Option Explicit ' テスト実行用プロシージャ Public Sub Test() ' 変数宣言 Dim mPattern As String Dim mTarget As String ' 正規表現パターンを設定 mPattern = "^[a-z0-9\._\-:]+$" ' 検索対象文字列を設定 mTarget = "Aaa.Bbb.com:8080" ' 検索実行(結果はイミディエイトウィンドウに出力) If IsMatched(mPattern, mTarget, True) Then Debug.Print "マッチしました" Else Debug.Print "マッチしませんでした" End If End Sub ' 文字列が正規表現パターンにマッチするかを判定 ' 第1引数 : 正規表現パターン ' 第2引数 : 検索対象文字列 ' 第3引数 : 大文字小文字を区別するか(True : 区別しない) Public Function IsMatched(ByRef pPattern As String, ByRef pTarget As String, ByRef pIgnoreCase As Boolean) As Boolean ' 変数宣言 Dim regex As VBScript_RegExp_55.RegExp ' 正規表現オブジェクト取得 Set regex = New VBScript_RegExp_55.RegExp With regex ' 正規表現パターンを設定 .Pattern = pPattern ' 大文字小文字の区別有無を設定 .IgnoreCase = pIgnoreCase ' 文字列全体を検索 .Global = True ' 検索対象文字列が正規表現とマッチするかを判定 IsMatched = .Test(pTarget) End With End Function |
上記の「IsMatched」プロシージャを自分のプログラムにコピペすれば
正規表現パターンを使った文字列評価ができるようになります。
正規表現は間違いやすいので、事前にチェックすることをオススメします。
ココ で簡単なチェック方法をシェアしていますので参考にしてください。
上記で使用している VBScript_RegExp_55.RegExp については、
「参照設定」という作業を実施しないと使えません。(簡単です)
この方法については、 ココ でシェアしていますので、ここを参考に参照設定を実施してください。
おわりに
今回は、Excel VBA で正規表現を用いた文字列評価をする方法をシェアしました。
Excel VBAについて他にもこんな処理はどうやるの?などの質問がある場合は、
フォームからご連絡頂けたら幸いです。
記事にして共有させて頂きます。