VBA を使用して、ローカル アクセス データベースからの Web データ入力を自動化しようとしています。
Web サイトに移動すると、ログイン ページがメイン メニューにリダイレクトされます。ただし、IE オブジェクトのドキュメント プロパティは何も返しません。
Dim htmlDoc As MSHTML.HTMLDocument
Set IE = CreateObject("InternetExplorer.Application")
IE.navigate "http://some.website.com.au/"
IE.Visible = True
With IE
Do Until .ReadyState = 4
Loop
End with
htmlDoc = IE.Document
' At this point VBA fails as the IE.Document property is empty
....
問題は、Web サイトに移動した後、ランディング ページが Cookie をチェックしてリダイレクトするログイン ページであることにあると思われます。Cookieを無効にしてコードを使用してログインすると機能しますが、ログインページを過ぎても問題は同じです。
私が見つけた唯一の信頼できる情報は、HTML コンポーネントの場合、DHTML ページにはドキュメントが添付されていないということでした。とにかく、IE インスタンスには明らかにドキュメントが含まれているため、これは少し奇妙に思えます。
この問題が文書化されている他の場所を見つけることができなかったので、この状況に遭遇した場合、または MSHTML クラスについて十分な知識があり、なぜこれが当てはまるかを理解できる場合は、助けや指示をいただければ幸いです。
乾杯、
意思