IEのDocumnetについておしえてください。
以下のようなプログラムいおいて、①でmiに
OBJIE.documnetをいれてますが、ページが変わって
miをウオッチでみると変わったページのプロパティ要素が取得されてます。これは、ページが変わる(次のリンク先を読み込む)と自動的にmiにdocumentプロパティーの要素がはいるってこ
とでしょうか?
ページが変わるたびにset mi=objie.documentとしなくてもよいのでしょうか?
宜しくお願いいたします。
ーーーーーーーーーーーーー
Set objie = CreateObject("InternetExplorer.application")
objie.Visible = True '見えるようにする(お約束)
objie.Navigate "http://www.yahoo.co.jp"
Do While objie.Busy = True Or objie.readyState < READYSTATE_COMPLETE '読み込み待ち
DoEvents
LoopDim mi As HTMLDocument
Set mi = objie.Document ’①
mi.getElementsByTagName("a")(127).Click
Do While objie.Busy = True Or objie.readyState < READYSTATE_COMPLETE '読み込み待ち
DoEvents
読み込み後miをウオッチでみる。
mi.getElementsByTagName("a")(20).ClickEnd Sub
set mi=objie.document
で
ページが変わると、miの中身もかわるので、
毎回セットしなくてもいいと思います。
※毎回セットし直しても、害はないと思います。
ですが、下記のような処理の時、中身が変わってしまうので、注意かな。
一ページ目にリンク集があって、
次の二ページ目に明細・内容があるページの時、
set mi_page1=objie.document
として
mi_page1.getElementsByTagName("a")(127).Click
表示待って、次ページの明細保存
set mi_page2明細1 =objie.document
次は、1ページ目のリンク集その下の明細2をクリック
mi_page1.getElementsByTagName("a")(128).Click
set mi_page2明細2 =objie.document
中身が変わっていなければ、できるのですが、
ページ移動されると、
一ページ目set mi_page1=objie.documentの中身も変わってしまうので、
mi_page1.getElementsByTagName("a")(128).Click
が理想通りに動かなかったりします。
上記のようには、できなかったりします。
とかやって、
元のリンクページを違う変数にして、
処理できそうで、できなかったりするので、そんな処理の時、
混乱しないように、
今から、
ページが変わると、miの中身もかわるので、
ページが変わるたびにset mi=objie.documentとしなくてもよい
に慣れている方がいいかなぁ・・・
まぁ、あまり気にしないで、慣れの問題かなと思います。
疑問解決のヒントとなれば幸いです。 三流プログラマー Ken3