システムトレーダーの冒険の書

自作のプログラムでシステムトレードを行っています。ポジション完全公開で、シストレやプログラミングについて書いていきます。相互リンク募集中です。

Excel VBA で正規表現を利用する

ブログランキング参加中!!

HTMLソースから株価など必要な情報を抜き出すときに
抜群の効果を発揮する正規表現をExcel VBA で利用する方法について解説します。
サンプルにつきましては過去に紹介したHTAアプリケーションを見てください。


VBAで正規表現を利用するときは RegExp オブジェクトを使います。
これは VBScript のオブジェクトのため、
利用には参照設定が必要です。

【参照設定】
Microsoft VBScript Regular Expression 5.5

変数の宣言とインスタンスの作成はほかのオブジェクトと同じです。
【インスタンスの作成】
Dim re As New RegExp

RegExp オブジェクトには次のプロパティがありますので、
それを設定していきます。

re.Pattern
…マッチさせたいパターンです。必ず設定してください。

re.Global
…gオプションに相当します。
True を設定すると複数の結果にマッチします。

re.IgnoreCase
…iオプションに相当します。
Trueを設定すると英文字の大文字小文字の違いを無視します。

re.MultiLine
…mオプションに相当します。
Trueを設定すると対象を複数行のテキストとして解釈します。

以前紹介したHTAでは、
re.Pattern は "<td class=""stoksPrice"">(.*?)</td>"
と設定し、残りの3オプションは省略したため初期設定(false) としました。

これで、正規表現を使う準備は完了です。
いよいよ文字列からパターンを探します。
そのときは目的にお応じて次の3種類のメソッドを利用します。

re.Test(文字列)
…文字列中にパターンが存在するか判定します。

re.Execute(文字列)
…文字列の中でパターンに一致した部分を返します。

re.Replace(文字列1,文字列2)
…文字列1中からパターンに一致する部分を探し出し、
 文字列2に置換します。

RegExpオブジェクトのプロパティ、メソッドの簡単な紹介は以上です。
パターンはどうやって設定するのか、
Execute関数で返ってきた値はどうやって利用するのか、
と言う点についてはまた改めて解説したいと思います。
(以前のHTAをそのまままねしていただければ動きますが、
かなりあっさりしていて応用が利きませんので…)

【人気ブログをチェック】
[ 2013/03/20 11:49 ] シストレツール | TB(0) | CM(0)
コメントの投稿












管理者にだけ表示を許可する
トラックバック
この記事のトラックバックURL

プロフィール

Author:yutaro
年齢:30代
職業:IT系(ベンダーからWeb系に転職)
住所:関東

Excelで自作したツールのシグナルにしたがってシステムトレードをやっています。

相場暦:
2005年10月からFX開始
就職前後に一旦取引を中断し、
2012年6月から株をやってます

トレードの目標は2020年1月1日を億万長者としてむかえること。

Twitterアカウントはこちら。



ご連絡を取りたいかたはブログのコメント欄、メールフォーム、Twitter、などどちらからでもOKです。システムトレード、プログラミング、数学、などのほか、飲み会のお誘いなど何でもどうぞ。

書籍・グッズの購入はこちら
メールフォーム

名前:
メール:
件名:
本文:

ブログランキング

株式投資ブログランキング
アクセスカウンタ