本ブログは2009年4月21日で終了しました。
今後はアイビースターでブログを運営していますので
そちらをご覧ください。
Posted by Hibi at 12:00
VB(A)で正規表現が使えた!


Visual Basic 6(VB6)やExcel、AccessのマクロであるVisual Basic for Application(VBA)を使用していて時々困るのが文字列などの検索です。

VB(A)にはある程度の文字列検索用の関数は用意されているものの、どうしてもこれだけでは役不足ということが時々あります。

他言語であるPHPやPerlなどには文字列検索用に「正規表現」と言う機能があるのですが、VB(A)にはありません・・・

と!

完全にそう思い込んでいたのですが、先日初めて知りました!VB(A)で正規表現が使用できることが!長くVB(A)に関わってきましたが、全然知りませんでした。VB(A)の世界ではごく当たり前のことかもしれませんが、私の様に知らない人は下記を参照ください。
VB(A)で正規表現を使用するには[ツール]-[参照設定]で「参照設定」のウィンドを表示します。この「参照可能なライブラリ ファイル」の中から
Microsoft VBScript Regular Expressions 5.5
を探して、チェックを入れます。これだけでVB(A)で正規表現が使用できます。
VB(A)で正規表現が使えた!
「参照設定」で「Microsoft VBScript Regular Expressions 5.5」をON


実際に標準モジュールに下記プログラムを書いてみて
Public Function testSeiki()
Dim re As RegExp
Set re = New RegExp
re.Pattern = "ABC"
re.Global = True
MsgBox re.Replace("ABCDEF ABCDEF ABCDEF", "abc")
End Function
イミディエントで
? testSeiki
と実行してみた結果
VB(A)で正規表現が使えた!
と表示されました。

もちろん、これだけでは全然不足していますが、他にもいろいろと使用できることがあります。詳しくは下記のリンクを参照ください。

まだ、私も先日知ったばかりなので詳しいことはまだわかっていませんが、使い方次第では結構便利なツールになりそうです。

Clinick's Clinic on Scripting: 正規表現による Visual Basic Scripting Edition (VBScript) の機能強化
Microsoft Visual Basic 6.0 で正規表現を使用する方法
CodeZine:VBAで正規表現を使う(RegExp)


正規表現ハンドブック (Technical Handbook Series)
鹿島 和郎 吉村 晋一 木村 浩一
ソフトバンククリエイティブ (2005/06/30)
売り上げランキング: 9570
おすすめ度の平均: 5.0
5 便利便利
5 常に手元に置いておきたいリファレンス



タグ :VB正規表現

同じカテゴリー(MS Office)の記事
 
Category is MS Office.
<%PingExcerpt%>
<%PingBlogName%> at <%PingDateTime%>
削除
VB(A)で正規表現が使えた!