- ベストアンサー
VBAで一度開いたIEで再操作したい。
VBAで一度操作が完了し、開いたままのIEでプログラムの再操作をするにはどうしたらいいのでしょうか? 一連のプログラム動作が終了し、IEを閉じなければまた違うウィンドウで開いてしまうので、同じウィンドウで操作し続けたいのですが・・・。 それと、一度終了したプログラムを If MsgBox("再実行しますか?", vbYesNo) = vbYes Then などのダイアログで「はい」を選んだ場合、再実行する方法はどのように記述すればよいでしょうか?
- みんなの回答 (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
お礼
お礼のお返事遅れて誠に申し訳ございません!! ちょっとかじり出した程度でしたので、この数日、ご回答いただいたソースや検索エンジンにて勉強し、行いたいことができるようになりました!! やはりかじるだけではなく、基礎からの学習が必要ですね・・・。 乱雑なソースしか書けないので、一からみっちり勉強します!! ご回答いただき、本当にありがとうございました!!