pagetaka

写真、PC、ネット、岡山、旅の話題をお届けします

VBA:ExcelとIEの連携03

IEのオブジェクトDocument以下にはなにがあるか

f:id:PageTAKA:20140607092902j:plain
IE関係のクラスは「SHDocVw」が入口みたいです。SHDocVw→InternetExplorer→Documentというところまで表示できました。

ExcelVBAで参照設定もし使えるようにしたはずのie関係の操作ですが、ちょっと手こずっています。
ieという変数にオブジェクト変数を割り当てた後、Documentまでは選択して表示できるのですが、以下が不明です。つまり「.」を入力しても、その後の候補が表示されないのです。仕方ないので、自分で入力することに…。


ところが、Document以下にどんなモノがあるのかわかりません。ということで、調べてみました。マイクロソフトのサイトに情報がありました。

DOMを使う

ここで、大きな方針転換です。「Excel VBAでIEを思いのままに操作できるプログラミング術 Excel 2013/2010/2007/2003対応」の84ページ当たりを読むと、対象となるHTMLを「オブジェクト」として扱えるようにし、その後、タグなどを目印にして必要なところを読みだせば良さそうだというのがわかりました。

あらかじめ、VBE画面で、ツール→参照設定→Microsoft HTML Object Library にチェックを入れてから使います。また、ie.Visible = True のところをコメントアウトすると、理由不明のエラーになるようです。


f:id:PageTAKA:20140607100317j:plain
(6/8追記:上記画像にあるコードのままだと、読み込み完了を待って、というのが無いのでうまく動かないかと…スミマセヌ。)

爺など古いタイプですので、変数と言えば、整数とか文字列とかいうような感覚からなかなか抜け出せません。オブジェクト変数などということになると、だいぶ脳みそが疲れを覚えてしまうのです。

でも、もしそうしないと取得した情報をタグなどに依拠して切り分け・抽出することができないのだろうな~と想像するのでありました。

この段階でも、最後までできるのかどうか自信はありませぬ。ともあれ、WordPressの記事更新状況を閲覧者側からチェックするという目標に近づきたいと思うのであります。

と、ここで変な気づきがありました。RSSリーダーとかチェッカーで用が足りるのではと…。自分で開発する必要が果たしてあるか…Mぅ~…。

あ~このようなものがあるなら、別にVBAで作らなくても…との横着が頭の大部分を占めだしたのでもありまする…。