エクセル2013のVBAでIEで表示されているページのHTMLソースを取得するには? 削除
Message#2 2014年10月12日(日)06時33分 From: 管理人 |
VBAでHTMLの全ソースを取得したい場合は以下のような処理になります。 Sub sample() Dim objIE As InternetExplorer 'IE(InternetExplorer)のオブジェクトを作成する Set objIE = CreateObject("InternetExplorer.Application") 'IE(InternetExplorer)を表示する objIE.Visible = True '指定したURLのページを表示する objIE.Navigate "http://www.vba-ie.net/" '完全にページが表示されるまで待機する Do While objIE.Busy = True Or objIE.ReadyState <> 4 DoEvents Loop 'HTMLソースを抽出 Debug.Print objIE.document.all(0).outerHTML End Sub 【解説】 Set objIE = CreateObject("InternetExplorer.Application") @まずはIE操作するために必要なオブジェクトを作成します。 objIE.Visible = True Aそのオブジェクトを視覚的に見えるようにTrueを設定します。 objIE.Navigate "http://www.vba-ie.net/" B「Navigateメソッド」は指定したURLをIEで開きます。 Do While objIE.Busy = True Or objIE.ReadyState <> 4 DoEvents Loop CこちらはIEが完全に読み込まれるまで処理を待つ処理になります。 Debug.Print objIE.document.all(0).outerHTML D最後にHTMLソースを抽出します。 ここまでがHTMLソースを抽出するざっとした流れですが、詳細について知りたい場合は以下を参考にされてください。 【指定したURLをIEで表示する】 http://www.vba-ie.net/ie/navigate.html 【Documentのallオブジェクト】 http://www.vba-ie.net/element/document-all.html 【要素テキストのプロパティ(innerHTML,innerText,outerHTML,outerText】 http://www.vba-ie.net/element/html-text.html |
上のメッセージを削除します。
よければパスワードを入力し、削除ボタンをクリックしてください。