正規表現を使用した入力データのチェックをする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オブジェクトを利用し、正規表現を行う方法を紹介します。
コメント