VBAでHTMLファイルを読込、任意の要素の内容を取得する方法について説明します。
個人的に、あるIDのdiv要素内のhtml文字列を取得したくて調べました。
MSHTML.HTMLDocumentを使用することで実現できました。
MSHTML.HTMLDocument
このオブジェクトを使用するには、参照設定で、Microsoft HTML Object Libraryを参照する必要があります。
使用方法
Dim oXML As New MSHTML.HTMLDocument
Dim DocHtml As New MSHTML.HTMLDocument
Dim HtmlPath As String
Dim menuStr As String
HtmlPath = "C:\TEST.html"
'ファイルの読込み
Set DocHtml = oXML.createDocumentFromUrl("file:///" & HtmlPath, vbNullString)
'文書内のidがside_menusの要素を取得する。
Set Element = htmlDoc.getElementById("side_menus")
'HTML文字列を取得
menuStr = Element.innerHTML
これでHTMLファイルの内容を取得できました。