WebBrowserについて

解決


Clik  2005-08-19 20:48:33  No: 91598

WebBrowserについて教えてください。
WebBrowserを利用してホームページのボタンをクリックしたりコンボボックスを選択したりするプログラムを作っています、(悪用はしてません)
プログラム自体は問題なくボタンのクリックやコンボイボックスの選択はできるのですがタイミングが難しくて困っています、対象となるホームページが読み込まれる前にクリックなどのプログラムが実行されてしまいエラーなどになってしまいます。"WebBrowser_DocumentComplete"、"WebBrowser_NavigateComplete2"などの終了を取得してプログラムを実行してもうまく行きません、現在は10秒の空ループをいれて何とか動いていますが、なにか他に方法はないのでしょうか?宜しくお願いします。


M's  2005-08-19 21:03:20  No: 91599

WebBrowser_DocumentComplete
の処理はどのようにしてますか?


Click  2005-08-19 21:46:18  No: 91600

M's 回答ありがとうございます。
----------------------------------
Private DocCompURL as String

Private Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, URL As Variant)

DocCompURL = URL

End Sub
----------------------------------
DocCompURL = ""
WebBrowser1.Navigate "http://www.*****"

ブラウザをナビゲートする前に"DocCompURL"を空にしておき、その後
Do While Len(DocCompURL)=0
 DoEvent
Loop
でループを抜けています。
本当はDocCompURL="http://www.*****"としたかったのですが
WebBrowser1_DocumentCompleteから取得できるURLは私の指定したURLとは違うものが入ってきますのでとりあえず長さだけで求めています。


M's  2005-08-19 23:43:47  No: 91601

>Do While Len(DocCompURL)=0
>    DoEvents
>Loop

この処理が終わった時点で、すべて読み込まれていないのでしょうか?


Click  2005-08-20 00:38:55  No: 91602

M'sさんコメントありがとうございます、実は書き忘れたのですが
DocumentCompleteには3つのURLが発生していました、上記のプログラムでは取れなくてあたりまえです。
ここに投稿しているうちに考えがまとまってきて自己解決できました。
どうしたかというと、必ず読み込まれた後にNameがなくてはSelect=Trueができないので外部でFunctionを作りDocument.all.itemを欲しいNameが見つかるまで何度もLoopで見つけに行かせるFunctionを作り解決できました、M'sさんありがとうございました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加