今回やりたいことは、VBAにてIEを起動せずに
①接続先へアクセス
②確認ダイアログに対して「はい」を選択
③はいを選択した後に飛ばされるページのHTMLを出力
です。
http://excel-ubara.com/excelvba5/EXCELVBA222.html
上記サイトで説明している、MSHTML.HTMLDocumentを使用して、以下の処理を記述しました。
VBA
1 Dim objHTML As MSHTML.HTMLDocument 2 3 Dim objXML As New MSHTML.HTMLDocument 4 Dim htmlDoc As New MSHTML.HTMLDocument 5 Dim objITEM As Object 6 7 Set htmlDoc = objXML.createDocumentFromUrl("http://example.com?hoge=hoge", _ 8 vbNullString) 9 ' 待機処理 10 Call untilReady(htmlDoc) 11 ' 「はい」をクリック 12 htmlDoc.getElementsByClassName("id_result_yes")(0).Click 13 ' 待機処理 14 Call untilReady(htmlDoc) 15 ' 出力 16 debug.print htmlDoc.getElementsByTagName("html")(0).outerHTML 17 18 Set objITEM = Nothing 19 Set htmlDoc = Nothing 20 Set objXML = Nothing
しかし、上記のコードでは、出力されるHTMLは確認ダイアログが表示されている状態のページのHTMLでした。
IEを起動させずに、ページを操作して移動していくようなことは出来ないのでしょうか?
ご教授の程、宜しくお願い致します。