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

解決済みの質問

VBScriptのIEでhttpにアクセスできない

VBScriptにてIEを操作しています。

先日PCを新しくwin7のIE11にしたところおかしくなりました。

httpのサイトにアクセスするとDocumentCompleteが発生しません。

というか最初のnavigateでは発生はしているようなのですが

次のURLにnavigateした時発生せずreadystateは1のままです。

2度目のnavigateの挙動がおかしい気がします。

ちなみにhttpsのサイトは問題ありませんでした。

試しに以下のようなスクリプトを作成してみたところ

Msgboxにて"http://www.yahoo.co.jp/"、"http://weather.yahoo.co.jp/weather/"

の二つが表示されてしまいました、、、。

画面上にはお天気ページのIEのみが起動(見えて)していてIEはQuitできていません。

かなり困っています。

Option Explicit

Dim ie
Dim isReady

Set ie = WScript.CreateObject("InternetExplorer.Application", "ie_")
ie.Visible = True

ie.Navigate "http://www.yahoo.co.jp/"
Call wait
ie.Navigate "http://weather.yahoo.co.jp/weather/"
Call wait

ie.Quit
Set ie = Nothing
msgbox "ok"

Sub wait()
Dim count: count = 0
isReady = False

Do While isReady = False
WScript.Sleep 100
count = count + 1
If count > 100 Then
Call chkIe
ie.Quit
Set ie = Nothing
WScript.Quit
End If
Loop
End Sub

Sub ie_DocumentComplete(ByVal pDisp, URL)

If pDisp Is ie Then isReady = True

End Sub

Sub chkIe
Dim fso
Dim browse
Dim pn

Set fso = CreateObject("Scripting.FileSystemObject")
For Each browse In CreateObject("Shell.Application").Windows
pn = fso.GetFileName(browse.FullName)
If LCase(pn) = "iexplore.exe" Then msgbox browse.LocationURL
Next
Set fso = Nothing
End Sub

ほかのWIN7、IE11のPCでは問題なく操作できています。

この新しいPCのIEもデフォルトのままで特別な設定はしていません。

どなたか何か心当たりがありましたらよろしくお願い致します。

投稿日時 - 2014-09-12 19:08:08

QNo.8751953

すぐに回答ほしいです

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

紹介したスレに進展があった様です。
Navigateメソッドの前後にVisibleプロパティを挟むそうです。

投稿日時 - 2014-09-16 06:36:49

お礼

Navigate前後にvisible挟んだらIEを無事操作することが出来ました!
というかそもそもIEのvisibleを最初からfalseにすることでで問題なく操作出来ました!
なぜこうなるのか、かなり不明ですがとりあえず助かりました。
ありがとうございました!

投稿日時 - 2014-09-17 12:44:38

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

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

回答(2)

ANo.1

http://www.moug.net/faq/viewtopic.php?t=70210
(他所の同様な質問を見る限り)NewProcessイベント で再度、参照をセットされるとか。

投稿日時 - 2014-09-13 07:26:54

お礼

回答ありがとうございます。
NewProcessイベント色々勉強になりました。

少しイベントを追加してみたところ
遷移した時にOnQuitが発生していました。
がNewProcessは発生していないようでした。

投稿日時 - 2014-09-15 07:45:38