ブログジャンル

にほんブログ村 為替ブログ 100通貨単位・1000通貨単位へ
にほんブログ村の為替ブログランキングに参加中です。応援よろしくお願いいたします♪

検索フォーム


カレンダー

05 | 2017/06 | 07
- - - - 1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 -

最新記事


最新コメント


最新トラックバック


月別アーカイブ


カテゴリ


リンク


スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

第05回 自動売買用プログラム - for ExcelVBA

こんにちわ!
くるくるしてますか!?
よく意味が分からないので、早速始めたいと思います。

今日の課題は「Callでプロシージャを呼び出す」です。
なんのことやらさっぱりなんですが、頑張って説明していきます!
(きちんと覚えたい方には当ブログはオススメできませんのでご注意ください)


これを使うことによって、1つでは複雑(長く)なってしまうプログラムも、簡単(短く)にでき分かりやすいように改善することができます。
同じプログラムを何回も使用する場合に有効ですね!

なので、今後よく使うところは別のプロシージャにしておいて、プログラムを分かりやすくしていきましょう!


では、前回の課題より問題です。
4回目:スリープを使う
Q.別のプロシージャにしたところが良いのはどこでしょうか?


1.IE起動
2.目的のページのURLを指定し、開きます。
3.ページの表示完了を待ちます。
4.検索フォームに文字を入力する。
5.フォームを送信


うーん、短いコードだと問題にならないですよね^^;
私は「3番」の「ページの表示完了を待ちます。」を別のプロシージャにしています。
なので答えは3番!!!w


はい、では実際にやってみましょう!
下記のプログラムを前回のコードの終わり(End Sub)より下に貼り付けてください。
20110620-vba02

-------------------- ここから --------------------
'「ページの表示完了を待ちます。」を別プロシージャにし、コールで呼び出す。
Sub IE_Wait2(ByRef objIE As Object)

Debug.Print "ページを読み込み中"
While objIE.ReadyState <> 4 Or objIE.Busy = True
DoEvents
Wend

End Sub
-------------------- ここまで --------------------



これで別のプロシージャとして準備ができました。
次に本体側のプログラムを変更します。
「ページの表示完了を待ちます。」のコードを下記のようにします。
20110620-vba03

-------------------- ここから --------------------
'ページの表示完了を待ちます。
Call IE_Wait2(objIE)
-------------------- ここまで --------------------



そして、本体側のプログラムを実行してみます。
先ほどつくった別のプロシージャ側(IE_Wait2)を実行しても何も起こりませんので注意してください。
キャプチャ画像のところのプルダウンで選択するか、
Sub IE_from() ~ End Sub の間をクリックすると大丈夫なはずです!
20110620-vba04


うまくいったでしょうか?
実行結果は前回のものと一緒になります。
ちなみにいま私が使っている自動売買のプログラムは4つのプロシージャで構成されています。
こんな感じです。

1.約定履歴を調べるもの
2.エクセルの注文表を調べるもの
3.注文の発注をかけるもの
4.ページの読み込みを待つもの

もうちょっと機能を付ける予定なので、また追加すると思います。


ではでは、本日はこれにて終了!
お疲れ様でした♪




スポンサーサイト

コメント

コメントの投稿



管理者にだけ表示を許可する


トラックバック

http://fxbouz2011.blog67.fc2.com/tb.php/23-747b115a

 | ホーム | 


上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。