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もデフォルトのままで特別な設定はしていません。
どなたか何か心当たりがありましたらよろしくお願い致します。
お礼
Navigate前後にvisible挟んだらIEを無事操作することが出来ました! というかそもそもIEのvisibleを最初からfalseにすることでで問題なく操作出来ました! なぜこうなるのか、かなり不明ですがとりあえず助かりました。 ありがとうございました!