• 締切済み

VBで、IEオブジェクトでダイアログが出たとき操作する。

Dim wbrowser as object Set wBrowser = CreateObject("InternetExplorer.Application") ’item(11)はボタン wBrowser.all.Item(3).Click ここで、 通常なら問題なく次ページに移動するのですが、 メッセージボックス(javaのalertかconfirmなど)が表示され 「はい・キャンセル」や「OK」 を選択する、メッセージボックスが表示されるような場合、その前 にIEオブジェクトに制御が移動するようで、最後のクリックした段階で VB側から制御不能ととなります。 VBのみでメッセージボックスを閉じる方法等 何方か解決策がありましたらお教え下さい。 ちなみにぐぐりまくっていたら、 こんな人力検索に行き当たりました。 http://q.hatena.ne.jp/1174026115 解決はしているようですが、 ソースがないので私にはわかりませんでした・・・

みんなの回答

  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.1

見つけたページの非同期にクリックする手法を採用します もう一つ フォームにボタンを追加します 仮に Button2とします 先のイベントで非同期のスクリプトを記述し次の行に Button2.SetFocus としておきます ボタン2のクリックイベントで AppActivate wBrowder SendKeys "{Enter}" としておきます 変数 wBrowserは フォームの宣言部で宣言してボタン2のイベントでも共通に使えるようにしてください

関連するQ&A

専門家に質問してみよう