(2)Monex Joo API のExcel Vba 見本をつくってみました。
--------------------------------
### 各モジュールの名称と種類 ###
--------------------------------
1.ThisWorkbook
ThisWorkbook
2.フォーム
UserForm1
フォームにはbit/askのレート表示用ラベルを2個貼り付けて、
ラベルのオブジェクト名をそれぞれ USDJPYbid,USDJPYask, に変更しておく。
レート取得開始用ボタンと停止用ボタンを2個貼り付けておく。
3.標準モジュール
以下のように名称を変更してください。
変更しなくても動くとおもうがわかりやすいので。
Module1 → userAPISetTimer
Module2 → userJooChk
Module3 → useVariable
2.------- UserForm1のコード部分に貼り付ける内容 ----------
### 各モジュールの名称と種類 ###
--------------------------------
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つを追加しておき名称変更する。しなくてもよい。
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 ' 開始準備
Call realtimeRateStart ' 開始準備
End Sub
2.------- UserForm1のコード部分に貼り付ける内容 ----------
Option Explicit
'レート取得開始
Private Sub CommandButton1_Click()
Dim id As Integer
Dim id As Integer
' hwnd = フォームまたはコントロールのハンドルを返します。
'+--- ハンドル, ? , ミリ秒の値, タイマー呼び出しするプロシージャ名 -----+
'id = SetTimer(hwnd, 31000&, 250&, AddressOf realtimeRateDisp) 'タイマーProc呼び出し
id = SetTimer(Application.hwnd, 31000&, 10&, AddressOf realtimeRateDisp) 'タイマーProc呼び出し
End Sub
'+--- ハンドル, ? , ミリ秒の値, タイマー呼び出しするプロシージャ名 -----+
'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
Call kills
'KillTimer hwnd, 31000& 'id タイマー停止
Call realtimeRateStop 'レート取得停止
End Sub