VBA:正規表現を使用する方法

merry

正規表現を使用した入力データのチェックをするVBAのサンプルプログラム。

正規表現の利用については、VBAの標準機能にはないので、「Microsoft VBScript Regular Expressions 5.5」ライブラリを利用して実現する。

ExcelでもAccessでも同じように使用できる。

スポンサーリンク

正規表現を利用したVBAのサンプルプログラム

以下のサンプルプログラムは、「Microsoft VBScript Regular Expressions 5.5」ライブラリを参照設定しなくても実行できる。

正しいメールアドレスが入力されたかどうかを正規表現を利用してチェックするサンプルプログラム。

Sub CheckEmailAddress()
    Dim objRegEX, strEmailAddr As String
        strEmailAddr = InputBox("メールアドレスを入力してください。", "メールアドレスの入力")

    'RegExpオブジェクトをセットする。
    Set objRegEX = CreateObject("VBScript.RegExp")
        With objRegEX
            .Pattern = "^¥S+@¥S+¥.¥S+$" '正規表現をPatternプロパティにセットする
                If .test(strEmailAddr) Then '正規表現にマッチしているかチェック
                    MsgBox "正しいメールアドレスです。", vbInformation
                Else
                    MsgBox "不正なメールアドレスです。", vbCritical
                End If
        End With

End Sub 

正規表現について

正規表現の基本については、以下のサイトが詳しい。

サルにもわかる正規表現入門

CodeZineにも似たようなサンプルが載っている。

VBAでサポートされている正規表現パターンの一覧も掲載されている。

VBAで正規表現を使う
多くの文字列を処理するプログラムの場合、正規表現を使用できると便利です。本稿ではVBAでRegExpオブジェクトを利用し、正規表現を行う方法を紹介します。

コメント

タイトルとURLをコピーしました