0

パスワードで保護されたサイトにログインしようとしています。VBScriptでInternetExplorerオブジェクトを使用しています。エラーは、oIE.readystate値が1回読み取られた後に発生します。つまり、私のループでは、oIE.readystate値が1回読み取られますが、2回目にoIE.readystate値を読み取ろうとすると、「リモートサーバーマシン」という「800A01CE」ランタイムエラーが発生します。存在しないか、使用できません:'oIE.readystate' "

このコードはIE6で正常に機能しました。私の会社は新しいADポリシーを実装しており(これがどのように/影響するかはまったくわかりません)、現在IE7を使用しています。IE7が後のプロセスを何らかの形でブロックしているかどうかはわかりませんoIE.readystate。どんな提案でも大歓迎です。


表記:「->」は、特定のコード行が実行された直後に、プロセスの出力についてコメントを書き込んでいることを示します。

set oIe=wscript.createobject("InternetExplorer.Application", "IE_")
oIe.navigate "www.google.com"

do while oIe.readystate<>4
   msgbox "oIE readystate: " & oIE.readystate
   ''#-->gets here one time and outputs "oIE readstate: 0"
   wscript.sleep 1000
   msgbox "oIE readystate: " & oIE.readystate
   ''#-->errors out.
loop

msgbox "outside of oIE readystate: " & oIE.readystate
''#--->never gets here.
4

1 に答える 1

0

MsgBox の呼び出しが原因である可能性があります。MsgBox を実行すると、フォーカスが IE からスクリプト インタープリターに変更されます。これにより、IE は、乗っ取られているなどの疑いを抱くようになる可能性があります。それらをに変更します

WScript.Echo "oIE readystate: " & oIE.ReadyState

代わりにコマンドラインから実行しcscript myscript.vbsます。

于 2010-06-15T17:21:41.123 に答える