人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

VBAに関する質問です。
今、エクセルVBAの勉強中で、VBAからIE7を操作して、WEB検索できるようになりたいと思っています。

IEを操作できるVBコードを書くためには、どこで何を勉強すればよいのでしょうか。
具体的には、以下のURLのページ下部で使われている「ie.document.all. …」といったコードを書きたいのです。

【参考URL1】
他の人による質問-"Excelのマクロを使って、インターネットエクスプローラーを操作したいです。"
http://q.hatena.ne.jp/1137216805


今のところ、ドキュメントオブジェクトモデル(DOM)や、DHTMLという単語がキーワードになるのかなと思っていますが、どうでしょうか。

あと、以下のサイトは、少しずつ読み進めています。
【参考URL2】
"三流君VBAでIE操作 InternetExplorer.Applicationを操作する"
http://www.ken3.org/cgi-bin/group/vba_ie.asp

MSDNのような情報量が多いサイトの具体的なページか、体系だって説明されている書籍等を書いていただければありがたいです。

どうぞよろしくお願いします。

PS.
「IEではなく他のブラウザを使え」という意見もありそうですが、会社のチームメンバーが使っているブラウザがIEのため、ブラウザはIEが良いです。

●質問者: tomokazu
●カテゴリ:コンピュータ インターネット
✍キーワード:ALL application DOM Excel IE
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● youku554
●0ポイント

プログラミングの本を買ってください。http://www

◎質問者からの返答

どの言語かを知りたいのですが。


2 ● ardarim
●100ポイント ベストアンサー

基本的には上で挙げているURLが詳しく書かれていてよいと思います。


ちなみに、参照設定をしておくと、プロパティやメソッドをオートコンプリートしたり、引数をポップアップ表示してくれたりするので便利です。

ExcelのVBAエディタから、[ツール]→[参照設定]で、

の2つにチェックを入れておいてください。


その上で、

Dim objIE As Object

と書くのではなくて、

Dim objIE As InternetExplorer
Dim objDoc As HTMLDocument

Set objIE = CreateObject("InternetExplorer.Application")
objIE.GoHome

Set objDoc = objIE.Document

のように使います。


参照設定しておくと、

などの利点があるので、リファレンスがなくてもそれなりにプログラムできてしまいます。


参照設定せずにObject型でも使うことは可能ですが、不便でわかりにくいです。特に初心者には。


いちおう、英語のリファレンスはこちらになります。日本語版は残念ながらなかったかと思います。

Reference for Visual Basic Developers

ただし、InternetExplorerオブジェクトでは基本的に使うプロパティやメソッドは限られます。Visible、Navigate、Busyあたりを押さえておけば後は知らなくても大丈夫だったりします。


むしろ沢山使うことになるのは、objIE.Document.? 以下のオブジェクトだと思います。objIE.Document (上の例では objDoc に代入している) は、通常のWebページでJavaScriptやVBScriptを使う時の document.? とほぼ同じ使い方ができます。ですので、objDoc.? 以降の説明は星の数ほどあるJavaScriptやVBScript(は少ないかもしれませんが…)の解説ページを参考にすればokです。Webページのスクリプトで document.? と書いているところは、Excelでは objDoc.? (または objIE.Document.?)などに置き換えるだけです。変数名はただの例ですので objIE や objDoc でなくてもかまいません。


ただし、objIE.Document.? と直接書いてしまうと、HTMLDocument型と認識してくれないので、オートコンプリートなどはしてくれません。明示的に HTMLDocument型の変数(上の例では objDoc )に代入してやることで、オートコンプリートが効くようになります。

◎質問者からの返答

大変大変勉強になりました!ありがとうございます!

紹介していただいたURLおよび、javascriptのページで勉強させていただきます!

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ