|
[VBAでIE操作(TOP)] [IE関係記事一覧] [IE関係ブクマ] [三流君(TOP)] [VBA(TOP)] |
はじめは[WebBrowserを参照設定]から入り 小さな[IE操作のサンプル]でTEST 次に[少し大きなIEを使ったサンプル] にチャレンジしたり |
よく使う.Document:の解説 [.Forms]で入力処理 [.Links]でリンク情報取得 [.Images]で画像の情報 [.Frames]でフレーム処理 [.Script]でスクリプト処理 |
IE,WebBrowser: [IE プロパティ(各種設定)] [IE メソッド(イロイロな動作)] [IE イベント(発生後処理)] |
読者より、下記の書き込みをいただきました。(2007/10/08 20:23:39)
MSHTMLに参照設定して、以下コードを実行すると、
WebBrowser1オブジェクトのDocumentオブジェクトに補完が聞きますよ。
その後、VB、VBAのオブジェクトブラウザでMSHTMLのActiveXに関する情報が手に入ります。
--
dim objHTML as MSHTML.HTMLDocument
set objHTML = WebBrowser1.Document
.....
set objHTML = Nothing
--
あと、デバッグ中にobjHTMLをウォッチすると、いろいろわかります。
CreateObjectは簡単で、
Sub ie_test()
Dim objIE As Object 'IEオブジェクト参照用
Set objIE = CreateObject("InternetExplorer.application") 'IEのオブジェクトを作る
objIE.Visible = True '見えるようにする(お約束)
End Sub
↑とにかくコレを貼り付けて実行してみてください。↓IEの起動は、ここの解説がはじめの一歩として、わかりやすいと思う。
http://www.microsoft.com/japan/technet/scriptcenter/resources/qanda/mar06/hey0313.mspx
↑イロイロなサイズを指定して起動できたりするみたい。
サンプルを走らせながらが一番いいのかなぁ?
マニュアルや調査することも非常に大切なのですが、入り口で挫折しないためには、楽しくなくっちゃ???
サンプルを見ながら動かしていけば、なんとなく感覚がつかめてくるので、あとはエラー処理を含めた丁寧なプログラムを組んでいく、そんな感じがいいのでは???
Sub ie_test_Navigate()
Dim objIE As Object 'IEオブジェクト参照用
Set objIE = CreateObject("InternetExplorer.application") 'IEのオブジェクトを作る
objIE.Visible = True '見えるようにする(お約束)
'.Navigate で 指定した文字列のURLを開く
objIE.Navigate "http://ken3-info.blog.ocn.ne.jp/"
End Sub
ねっ、簡単に目的のURLを開くことができたでしょ。
<!-- comment form -->
<script type="text/javascript" src="/.shared-blogzine/js/comments.js"></script>
<script type="text/javascript">hostName = '.blog.ocn.ne.jp';</script>
<form id="comment-form"
method="post" action="http://app.blog.ocn.ne.jp/t/comments">
<input type="hidden" name="entry_id" value="6252955" />
<div class="comments-open">
<h2 class="comments-open-header">コメントを投稿</h2>
<div class="comments-open-content">
<div id="comments-open-data">
<p>
<label for="comment-author">名前:</label>
<input id="comment-author" name="author" size="30" />
</p>
<p>
<label for="comment-email">メールアドレス:</label>
<input id="comment-email" name="email" size="30" />
</p>
<p>
<label for="comment-url">URL:</label>
<input id="comment-url" name="url" size="30" />
</p>
<p>
<label for="comment-bake-cookie"><input type="checkbox"
id="comment-bake-cookie" name="bakecookie" value="1" />
この情報を登録する</label>
</p>
</div>
<p id="comments-open-text">
<label for="comment-text">コメント:</label>
<textarea id="comment-text" name="text" rows="10" cols="30"></textarea>
</p>
</div>
<div id="comments-open-footer" class="comments-open-footer">
<input type="submit" name="preview" id="comment-preview" value=" 確認 " />
<input type="submit" name="post" id="comment-post" value=" 投稿 " />
</div>
</div>
</form>
Sub ie_test_data_set()
Dim objIE As Object 'IEオブジェクト参照用
Dim time2 As Date '2秒待ちに使う。
Dim strNAME As String '名前の入力
Dim strCOMMENT As String 'コメントの入力
'INPUTBOXでデータをもらう
strNAME = InputBox("セットする名前は?", "", "鈴木 小林 田中 高橋")
strCOMMENT = InputBox("Ken3へ一言?", "", "速く続きが見たい・・・コメントを書いて下さい")
'IEを起動する
Set objIE = CreateObject("InternetExplorer.application") 'IEのオブジェクトを作る
objIE.Visible = True '見えるようにする(お約束)
'.Navigate で 指定したURLを開く
objIE.Navigate "http://ken3-info.blog.ocn.ne.jp/test/2006/12/post_745c.html"
'手抜きで2秒待つ(読み込み待ちを単純に2秒とする)
time2 = DateAdd("s", 4, Now()) '2--4秒後を計算する
Do While True '無限ループ
DoEvents
If time2 < Now() Then Exit Do '2秒後に抜ける
Loop
'名前とコメントを転記(代入)する。
objIE.document.all("author").Value = strNAME
objIE.document.all("text").Value = strCOMMENT
End Sub
ポイントは、Sub ie_test_投稿ボタンclick()
Dim objIE As Object 'IEオブジェクト参照用
Dim time2 As Date '2秒待ちに使う。
Dim strNAME As String '名前の入力
Dim strCOMMENT As String 'コメントの入力
'INPUTBOXでデータをもらう
strNAME = InputBox("セットする名前は?", "", "勉強中")
strCOMMENT = InputBox("Ken3へ一言?", "", "XXXXX コメント 投稿ボタンを押したよ")
'IEを起動する
Set objIE = CreateObject("InternetExplorer.application") 'IEのオブジェクトを作る
objIE.Visible = True '見えるようにする(お約束)
'.Navigate で 指定したURLを開く
objIE.Navigate "http://ken3-info.blog.ocn.ne.jp/test/2006/12/post_745c.html"
'手抜きで2秒待つ(読み込み待ちを単純に2秒とする)
time2 = DateAdd("s", 4, Now()) '2--4秒後を計算する
Do While True '無限ループ
DoEvents
If time2 < Now() Then Exit Do '2秒後に抜ける
Loop
'名前とコメントを転記(代入)する。
objIE.document.all("author").Value = strNAME
objIE.document.all("text").Value = strCOMMENT
'投稿ボタンを単純に押してみた(.click)
objIE.document.all("post").Click 'Name="post"をクリック
End Sub
※まぁ、ボタンに名前が付いていたりして、意外とらくでしたね。Sub ie_test_busy()
Dim objIE As Object 'IEオブジェクト参照用
Dim strNAME As String '名前の入力
Dim strCOMMENT As String 'コメントの入力
'INPUTBOXでデータをもらう
strNAME = InputBox("セットする名前は?", "", "勉強中2")
strCOMMENT = InputBox("Ken3へ一言?", "", ".busy で待ってから ボタンを押したよ")
'IEを起動する
Set objIE = CreateObject("InternetExplorer.application") 'IEのオブジェクトを作る
objIE.Visible = True '見えるようにする(お約束)
'.Navigate で 指定したURLを開く
objIE.Navigate "http://ken3-info.blog.ocn.ne.jp/test/2006/12/post_745c.html"
'表示終了まで待つ
Do While objIE.Busy = True
DoEvents '何もしないループ(笑)
Loop
'名前とコメントを転記(代入)する。
objIE.document.all("author").Value = strNAME
objIE.document.all("text").Value = strCOMMENT
'投稿ボタンを単純に押してみた(.click)
objIE.document.all("post").Click 'Name="post"をクリック
End Sub
※まだまだ、書きかけ、内容をまとめていく予定・・・
チョット、はじめの一歩が長すぎましたね。ここからドキュメントの探りやプロパティ、メソッド、イベント・・・と先は長いんだけど。
ヘルプはどこにあるの?三流なのにどうやって資料を探しどこで勉強したの?
と、質問をいただきます。(自分で調べていきたい読者様の前向きな問い合わせです)
やはり本家Microsoft.comのよく聞く?MSDNを探ってみるのも・・・(あまり深く見ると楽しむ前に挫折しかかるので、下記はほどほどに・・・)
英語だけどMSDNの下記の項目を見るとオブジェクトの階層構造がわかりやすいと思います。
MSDN Library - http://msdn.microsoft.com/en-us/library/ms123401.aspx
□□□|--- Internet Explorer Development http://msdn.microsoft.com/en-us/library/aa155133.aspx
深いので省略(オイオイ、意味無いだろTOPからたどらせないと)
□□□□□□□|--- WebBrowser Control http://msdn.microsoft.com/en-us/library/aa752040.aspx
の
IE Reference for Visual Basic Developers ↓に深く埋まってます(英語ですが)
[http://msdn2.microsoft.com/en-us/library/aa752043.aspx] が 一覧で、その 下に、
InternetExplorer Object [http://msdn.microsoft.com/en-us/library/aa752084.aspx] をクリック
document Object [http://msdn.microsoft.com/en-us/library/ms531073.aspx] をクリック
Collections の 中の all [http://msdn.microsoft.com/en-us/library/ms537434.aspx] をクリック
などして、さまよいながら・・・探したりしてます。(三流ガイドの私も迷ってます)
続きは、[IE Web Browser のプロパティ・メソッドを調べる] を 見てください。
検索エンジンやリンクから、せっかく私のサイトに来ていただいたのですが、下記2つの検索結果がかなり参考になったり・・・するのでは???
IE|oIE|WebBrowser|objIE 魔界の 2つをキーワードにしてGoogleで検索する
(↑かなりの確立で有効な回答が得られると思います、先輩方の回答を見ると謎が解けると思います。私もすらっと回答できる、そんな人になりたいですね。。。)
↓あとは、パターン的にoIE,objIEと変数名を定義している人とWebBrowser1.が多いので、
oIE|objIE|WebBrowserをキーワードにしてGoogleで検索する
も有効かなぁ。※短いサンプルなどが見つかり、参考となるのでは?
さらに検索を紹介すると、[InternetExplorer.application]をキーワードにしてマイクロソフト内を検索する
などなど・・・
↑1歩1歩独自で進めたい人はこんな感じで、実際のコード や 掲示板・ML上の自分と似た質問のやりとりを見ながら進めるのがいいと思います。
※また、BBSやMLの空気を読んで(過去ログも読んで)、上級者がいらっしゃる掲示板に質問を投げてみるのもひとつの手です。
検索に迷ったら(IE操作の道に迷ったら)、objIEやoIE さらに InternetExplorer.application や Document.All などをキーワードにGoogleやYahooで探ってみてください。
脱線すると、google検索のワンダーホイールって面白い
↓私のよく使う変数 objIEで検索すると
objIEの結果をワンダーホイールで表示
↑なかなか、楽しめそうです。※関連項目の全てが線でつながらないけど(全てつながるとかなり面白いのに。)
googleってすげぇなぁ。
過去のメールマガジンのリンクが長かったので、下記に移動しました。
[IE操作 メルマガ 一覧]
よろしくお願いします。
改版履歴 更新情報:過去のIE操作の解説はこちら↓(IE6+XP,IE7+XP の記事です)
2009-12-01:[過去の解説 vba_ie_20091201.asp]
2009-06-01:[過去の解説 vba_ie_20090601.asp]
2009-02-01:[過去の解説 vba_ie_20090201.asp]
2008-05-01:[過去の解説 vba_ie_20080501.asp]
2007-08-31:[過去の解説 vba_ie_20070831.asp]
2007-05-20:[過去の解説 vba_ie20070520.asp]
もあわせてみてください。
(↑もしかして書き直さない過去の解説の方がよかったかも?(笑))
読者からのお勧め本。私はまだ購入していないのですが、下記の
[自動売買ロボット作成マニュアル~エクセルで理想のシステムトレード]
が参考になった三流君も見習って株のソフトを作ってくださいと多数(と言っても3人)に言われました。
株の自動売買ソフトかぁ・・・みなさん夢がありますね。。。
※追加情報(2006/11/08)、各証券会社にあわせたVBA IEコントロールの発注方法などは載っていないみたいです。本を買っただけではわからない・・と読者からお叱りを受けました。
※※メールで送られてくる質問の多数は株と競馬の自動データ処理なので、新たに解説ページを別で作ろうかなぁ・・・と思いつつ、具体的な予定は無かったり・・・はやく動き出せ、動けよコラ、三流プログラマーはこれだから と 自分自身に言ってみた。
読者からのお勧め本その2私はまだ購入していないのですが(またカヨ)、下記の
[VBAマクロで作る株式自動売買プログラム(仮)]
のタイトルが気になったので三流君も買ってみたら?と言われました(と言っても1
人ですが、、)
たしかに、タイトルに惹かれますね。あとは中身のチェックかな。
※じゃなくって、ポツポツIEを使った自動処理の本が出ているってことは、私は波に乗り遅れたかなぁ、、、今から証券口座を申し込んで作成を始めても遅いか。(そもそも、今から勉強して素人が株デビューするには時期が悪い?それとも?)
読者さんから、株の全自動売買MLの紹介。
>中刷り広告のコラムで、VBAによるIEの自動操作での
>株発注などのお話が出ておりました。
>
>この件は、私も興味があり、すでにメーリングリストを
>開設して日々勉強している所です。
>
>よろしければ、私のHPにメーリングリストの解説など、
>ございますので、一度ご覧になって頂ければ嬉しい限りです。
>
>http://www.geocities.jp/kameyama_kabu/
>
>メーリングリスト内では、
>VBAのソースもかなりの証券会社のものが、
>公開されており(フリーです)有効に使用されている方も
>いらっしゃいます。
>
>もし、コラムのような方が今後も多いようでしたら、
>メーリングリストを紹介して頂けると嬉しいです。
----
と、メールをいただきました。ますます私は出遅れているなぁと感じつつ、
メールを紹介しました。※興味のある方は、MLに参加されてみては??
最近の人気商品の人気
ここまで、読んでいただきどうもです。ここから下は、三流君宛のメッセージ送信や 三流君のホームページの紹介・案内です
目的の情報が見つかったか?少々心配しつつ、、、
Blog:[サンプルコードのゴミ箱]
動画:[VBA解説・テスト動画]
| [三流君(TOPへ)] / [VBAで楽しく] / [記事一覧] |
カスタム検索
|