2011年03月19日

vba:正規表現

VBScript.RegExpオブジェクトを使ってvbaで正規表現を使う。但し、(…)でグループ化した部分を参照する、RegExp.$n は使えない。
「Microsoft VBScript Regular Expression 5.5」のライブラリ参照でアーリーバインドできる。
ex.)文字列からURLを抜き出す。
Dim re As Object
Dim rslt() As Object
Dim url As Object
Set re = CreateObject("VBScript.RegExp")
re.Pattern = "https?:\/\/([\w-]+\.)+[\w-]+(\/[\w-.\/?%&=]*)?"
re.IgnoreCase = True
re.Global = True
Set rslt = re.Execute("google:http://www.google.co.jp/,yahoo:http://www.yahoo.co.jp/")
For Each url In rslt
MsgBox url
Next
'rsltはコレクションなのでrslt(0)という記述もOK
posted by 忘却の達人 at 15:10| Comment(0) | TrackBack(0) | vba | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。

この記事へのトラックバック