ExcelVBA

VBAでIE操作「head要素・body要素を取得」【エクセルマクロ】

VBAでIEを起動し、Webページ内のhead要素を取得・body要素を取得する方法です。
基本的にはId要素やName要素を取得する場合と取得の仕方は同一です。

Webページのhead要素・body要素を取得するサンプルコード

'■Webページのhead要素とBody要素を取得する
Public Function Call_sample_get_head_get_body()
    Dim objIE As Object
    Dim i As Long
    
    '■IE生成→指定URLへ飛ぶ
    Set objIE = CreateObject("InternetExplorer.Application")
    objIE.Visible = True
    objIE.navigate "https://vba-create.jp"
    Call_IE_WaitTime
    
    '■Head要素を取得
    MsgBox objIE.document.head.outerHTML

    '■Head要素内のすべての要素を取得
    For i = 0 To objIE.document.head.all.Length - 1
        MsgBox objIE.document.head.all(i).outerHTML
    Next i
    
    '■Body要素を取得
    MsgBox objIE.document.body.outerHTML
    
    '■Body要素内のすべての要素を取得
    For i = 0 To objIE.document.body.all.Length - 1
      MsgBox objIE.document.body.all(i).outerHTML
    Next i
End Function

その他

毎度おなじみですが、Call_IE_WaitTimeの処理はこちらを参照ください。
Function化の優位性を理解いただくため、関数化(Function)させています。

その他

Internet Explorerを使用して、Webスクレイピングは敷居が高い風に捉えられますが、
上記のように、パーツ化して組み合わせ処理するだけです。

Web上のデータを触りたい要望は会社様でも個人様でも多いと思います。
VBA IE操作を覚えて効率化しませんか?
作成が大変であれば弊社で代行開発も可能です。お気軽にお問い合わせください。

 

コメント

タイトルとURLをコピーしました