VBAでテキスト要素からDOMを取って、さらにgetElementsByClassNameを使う方法
インターネット上のどこにも書いてなかったので、こちらに記載。
Dim InnerHtmlDom As IHTMLDocument7 'Here is the point Set InnerHtmlDom = New HTMLDocument InnerHtmlDom.Write (InnerHtml) 'Convert String to DOM Debug.Print (InnerHtmlDom.getElementsByClassName("classname").Length)
いまのところ、writeとgetElementsByClassNameの組み合わせがうまくいくのは、IHTMLDocument7だけ。
If you are going to use both .write and .getElementsByClassName methods together in VBA, this is the only way, I think.
*追記(2014.7.29):「Windows 7 for x64-based Systems 用 Internet Explorer 11 の累積的なセキュリティ更新プログラム (KB2957689)」を適用した後にはうまく動かない場合があるようです。