ページの遷移待ちで途中で抜けてしまいます。 削除
Message#2 2016年2月1日(月)07時48分 From: ジャッカル |
javascript処理がはさんでいるとか。 DOMはjavascriptを制御できないから、例えばボタンをクリックした中にjavascript処理があるとjavascriptの処理完了を待たずに次に処理に進んでしまう。 そうなると完全に読み込みができていないので探しているオブジェクトが見つからず、エラーが表示される。 > こんにちは,よろしくお願いします。 > ページの遷移待ちで,「オブジェクトが必要です。」というエラーが出ます。エラー番号は,424です。遷移待ちの部分は,多用するので,メインのプロシージャとは別に次のようなプロシージャを作っています。 > > Sub Busyready(ie As InternetExplorer) > Do While ie.Busy Or ie.readyState <> READYSTATE_COMPLETE > DoEvents > Loop > Do While ie.Document.readyState <> "complete" > DoEvents > Loop > End Sub > > エラーは,いつも出るわけではなくて,上手くいくときと,上記のエラーが出る時と半々くらいです。 > そこで, > call Busyready(ie) > sleep(200) > として,上記のプロシージャを呼んだ後で,0.2秒待ちを加えると,エラーは出なくなりました。 > > しかし思うのですが,Busyやreadystateプロパティは,絶対では無いという事なのでしょうか? > このような,不安定?,不確か?なプロパティがあるというのはおかしいことだなと思います。このようなことが,1つでもあるとVBAに対する信頼が揺らぎます。特にお金を扱うサイトのブラウジングを操作しようと思っているので,大変不安です。 > > そこで,Busyやreadystateプロパティが不安定な理由を教えていただきたいです。 > また,Busy,readystateプロパティがきちんと動くようにするには,どのようにすれば良いのかを教えていただきたいです。 > 何とぞ,よろしくお願い致します。 |
上のメッセージを削除します。
よければパスワードを入力し、削除ボタンをクリックしてください。