こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

-広告-

解決済みの質問

https:/○○login.php エラーになる

win7 32ビット オフィス2010です。

https:/○○login.php
のようなサイトを開こうとすると

------------------------------------------------------

Dim objIE As InternetExplorer

Sub test()

Set objIE = CreateObject("InternetExplorer.Application")
objIE.Visible = True
objIE.Navigate "https:/○○login.php"

Call WaitIE1(objIE)

End Sub

------------------------------------------------------

Function WaitIE1(objIE As InternetExplorer)

Do While objIE.Busy = True
DoEvents
Loop

Do While objIE.Document.ReadyState <> "complete"
DoEvents
Loop

End Function

------------------------------------------------------

このコードがエラーになります。

Do While objIE.Document.ReadyState <> "complete"
の部分で

実行時エラ― -2147417848
オートメーションエラーです。
起動されたオブジェクトはクライアントから切断されました。

となります。

objIEをウォッチ式に登録してみてみると
Function WaitIE1(objIE As InternetExplorer)
の時に、「変数なし」となっています。

objIE.Navigate http://www.goo.ne.jp/
にすれば、
エラーにならずに、コードが最後まで行きます。

ウォッチ式を見ても
「変数なし」にはなりません。

この違いは何でしょうか?

投稿日時 - 2015-11-06 23:08:05

QNo.9076135

暇なときに回答ください

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

これじゃないですかね。
http://stackoverflow.com/questions/12965032/excel-vba-controlling-ie-local-intranet

投稿日時 - 2015-11-07 13:46:08

お礼

ありがとうございます。

投稿日時 - 2015-11-10 22:40:45

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

-広告-
-広告-

回答(2)

ANo.2

IE11以降で拡張保護モードが有効かつ、特定のサイト(Yahoo!等)で発生する問題かも知れません。
定番の対応として、Navigateメソッドの前後でVisibleプロパティを操作するとか。

objIE.Visible = False
objIE.Navigate "https:/○○login.php"
objIE.Visible = True

投稿日時 - 2015-11-08 16:06:39

お礼

ありがとうございます。

投稿日時 - 2015-11-10 22:40:43

-広告-
-広告-

あなたにオススメの質問

-広告-
-広告-