cTipsのブログ(かぶもーちゃん)

株の自動売買の採用しなかったルールの結果を毎日記録

(2)Monex Joo API のExcel Vba 見本をつくってみました。

--------------------------------
### 各モジュールの名称と種類 ###
--------------------------------
1.ThisWorkbook
 ThisWorkbook
2.フォーム
 UserForm1
 フォームにはbit/askのレート表示用ラベルを2個貼り付けて、
 ラベルのオブジェクト名をそれぞれ USDJPYbid,USDJPYask, に変更しておく。
 レート取得開始用ボタンと停止用ボタンを2個貼り付けておく。
3.標準モジュール
 以下のように名称を変更してください。
 変更しなくても動くとおもうがわかりやすいので。
 Module1 → userAPISetTimer 
 Module2 → userJooChk
 Module3 → useVariable
 
上記の解説
1.は規定のThisWorkbook
 フォームを自動起動したり、MonexJooのAPIが起動しているかどうかを判定する。
2.はユーザーフォームなので右クリックしてサブメニューの挿入(N)→ユーザーフォーム(U)
 から選び追加しておく。ラベル2個とボタン2個を追加しておく。
3.は標準モジュールを右クリックしサブメニューから挿入(N)→標準モジュール(M)で
 Module1,Module2,Module3,の3つを追加しておき名称変更する。しなくてもよい。
 
'/// 以下はそれぞれのモジュールに貼り付けるvbaの内容である ///
1.------- ThisWorkbook 以下に貼り付ける内容 ---------
Option Explicit
'開いたときに自動実行
Sub workbook_open()
    UserForm1.Show
    Call ChkAPISV           ' API起動チェック
    Call realtimeRateStart  ' 開始準備
End Sub
 

2.------- UserForm1のコード部分に貼り付ける内容 ----------
 
Option Explicit
 
'レート取得開始
 
Private Sub CommandButton1_Click()
Dim id As Integer
    ' hwnd = フォームまたはコントロールのハンドルを返します。
    '+--- ハンドル, ? , ミリ秒の値, タイマー呼び出しするプロシージャ名 -----+
   'id = SetTimer(hwnd, 31000&, 250&, AddressOf realtimeRateDisp)   'タイマーProc呼び出し
    id = SetTimer(Application.hwnd, 31000&, 10&, AddressOf realtimeRateDisp)   'タイマーProc呼び出し
End Sub
 
'レート取得停止
 
Private Sub CommandButton2_Click()
   
    Call kills
   'KillTimer hwnd, 31000&  'id タイマー停止
    Call realtimeRateStop   'レート取得停止
End Sub