私はIEとやりとりするようにVBAをプログラミングしていますが、やり直しが始まりましたが、私はすべて解決できないような奇妙な現象私がやった研究IEオートメーション - Excel VBA ...ウェブサイトを読み込んだ後にエラーが発生する
ウェブサイトをロードするとすぐに、私はInternetExplorer Application
への参照をすべて失い、オブジェクトを使用できなくなります。私は完全にロードされ、サイトをチェックすると
、私はRun-Time Error 424 Object Required
、またはRun-time error '-2147023179 (...)': Automation Error The interface is Unknown
私は(サイトは完全に読み込ま見ながら)このラインを越えて移動し、Set doc ...
ラインを実行してしまった場合、私はRun-Time Error 462: The remote server machine does not exist or is unavailable
を取得します。
私はIE 11とExcel 2010を使用しています。Microsoft Internet ControlとMicrosoftHTML Object LibraryへのVBAProject参照がありますが、遅延バインディングでもエラーが発生します。
Sub LoginToFXAll()
Dim ieApp As InternetExplorer
Set ieApp = New InternetExplorer
With ieApp
.Visible = True
.Navigate "https://www.google.com/"
Do
DoEvents
Loop Until .ReadyState = READYSTATE_COMPLETE ''<- Run-Time Error 424 occurs here
Dim doc As HTMLDocument
Set doc = .Document '<- Run-Time Error 462 occurs here
doc.all("q").Value = "Scott"
End With
End Sub
私はそれに似た問題を抱えていましたが、ネットワークで何らかのセキュリティが使用されていますか?もしそうなら、問題は、あなたの "アクセス権"を検証しているIEのインスタンスが "破棄"されて "再構築"され、元のオブジェクトが失われてしまうことです。 – Sgdva
Thanks @Sgdva - それを証明することはまだありません。とにかくそれを回避するか、新しいオブジェクトを割り当てることはありますか? (私はそう思わない)。 –
悲しいことに、私はその時点で解決策を見いだしていませんでしたが、もう少し分かっているので、おそらく要素自体ではなくインターネットエクスプローラのメモリ位置を得ることができ、残念ながら、それが動作するのであれば現時点でテストすることはできませんが、それは良い回避策かもしれませんが、[ObjPtr](https://support.microsoft.com/) en-us/kb/199824) – Sgdva