• ベストアンサー

VBAで一度開いたIEで再操作したい。

VBAで一度操作が完了し、開いたままのIEでプログラムの再操作をするにはどうしたらいいのでしょうか? 一連のプログラム動作が終了し、IEを閉じなければまた違うウィンドウで開いてしまうので、同じウィンドウで操作し続けたいのですが・・・。 それと、一度終了したプログラムを If MsgBox("再実行しますか?", vbYesNo) = vbYes Then などのダイアログで「はい」を選んだ場合、再実行する方法はどのように記述すればよいでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • KenKen_SP
  • ベストアンサー率62% (785/1258)
回答No.1

恐らくコードは標準モジュールに書いてますよね。。 Microsoft Internet Controls が参照設定されている前提で。 なお、コード中にURLを記載してますが、投稿すると不要文字が 挿入され、バケるようです。 ' ■ ThisWorkbook モジュールに貼り付け Public gIE As InternetExplorer ' ■ 標準モジュールに貼り付け Sub test()   Dim IE As InternetExplorer   Do     ' // 既に参照済みのIEが利用可能であればそれを使う     ' // 利用できなければ、新規にIEを立ち上げる     On Error Resume Next     Set IE = ThisWorkbook.gIE     IE.Visible = True     If Err Then       Set IE = CreateObject("InternetExplorer.Application")       Set ThisWorkbook.gIE = IE       IE.Visible = True     End If     On Error GoTo 0     ' // 必要な処理を行う     IE.Navigate "http://www.yahoo.co.jp"     While IE.Busy And IE.ReadyState <> READYSTATE_COMPLETE       DoEvents     Wend     ' // 略          ' // 再実行の確認     If MsgBox("再実行しますか?", vbYesNo) = vbNo Then       Exit Do     End If   Loop   Set IE = Nothing End Sub

metal3100c
質問者

お礼

お礼のお返事遅れて誠に申し訳ございません!! ちょっとかじり出した程度でしたので、この数日、ご回答いただいたソースや検索エンジンにて勉強し、行いたいことができるようになりました!! やはりかじるだけではなく、基礎からの学習が必要ですね・・・。 乱雑なソースしか書けないので、一からみっちり勉強します!! ご回答いただき、本当にありがとうございました!!

関連するQ&A