• 締切済み

WebBrowserのダウンロードダイアログ処理

はじめまして。 Excel VBAのWebBrowserを使用して自動ダウンロードを行いたいと考えております。 【内容】 WebBrowserにて対象のWebページを表示し、ボタンをクリック(自動)後にダウンロードダアログの表示まではできたのですが、処理がダイアログを表示させた時点で止まってしまい、DoEventsを入れても(FindWindowなどの後処理まで)進みません。 ダイアログをキャンセルすると処理は進みます。また、IE起動で同じダイアログを表示させ、マクロを動かすと正常にダイアログを認識できます。 WebBrowserではなくマクロでIE起動させれば良いかとは思いますが、疑問が残ったまま進めたくないこともあり、質問させていただきました。 ご存知の方、ご教授戴けないでしょうか。 【環境】 IE8、Excel2000、OS:XP SP3

みんなの回答

  • kumatti1
  • ベストアンサー率60% (73/121)
回答No.2

(多分、お分かりだと思いますが)クリックするコードの前にタイマーをセットして、 > m_timerid = SetTimer(0, 0, 0, AddressOf TimerProc) そしたらダイアログを表示するタイミングでコールバックが呼ばれますので、タイマーを止めて > KillTimer 0, idEvent そこでハンドルをAPIで得ます。

  • kumatti1
  • ベストアンサー率60% (73/121)
回答No.1

(IEだと通用しませんが)WebBrowserなら、 SetTimer APIのコールバックでハンドルを得る様にしたらどうですか。FindWindowで。

cj2000
質問者

お礼

ありがとうございます。 >FindWindowで FindWindow処理は組んでいるのですが、それだけではダメということでしょうか? >SetTimer APIのコールバックでハンドルを得る 使ったコトはないのですが、調べて試してみます。 完全に行き詰まっていたため、助かります。 ご回答ありがとうございました。

関連するQ&A