DOMを理解する 

操作対象画面(Google)を起動
'サンプル3.1_DOMを理解する
Public Sub useHTMLAsObject()
    '※VBE上でツール>参照設定で、Microsoft Internet ControlsまたはMicrosoft Browser Helpersを追加
    Dim ie As InternetExplorer  'IE
    '※VBE上でツール>参照設定で、Microsoft HTML Objectを追加
    Dim htdoc As HTMLDocument   'HTML
    'Google検索画面を取得
    Set ie = getIE("Google")
    'IEに表示されているHTMLをオブジェクトとして取得
    Set htdoc = ie.document
    'HTMLに含まれるタグが、オブジェクトとして操作できる
    MsgBox htdoc.Title          '<title>タグ
    MsgBox htdoc.body.innerHTML '<body>タグの内側のHTML
End Sub

'ドキュメントタイトル/URLを指定してIEを取得
Public Function getIE(arg_title As String, Optional arg_url As String) As Object
    Dim ie As Object    'IEを格納する変数(オブジェクト型)
    Dim sh As Object    '起動中のShellWindow一式を格納する変数
    Dim win As Object   'ShellWindowを格納する変数
    Dim document_title As String    'ドキュメントタイトルの一時格納変数
    Set sh = CreateObject("Shell.Application")  'ShellWindowをwinsに格納
    'ShellWindowから1つづつ取得して処理
    For Each win In sh.windows
        'ドキュメントタイトル取得失敗を無視(処理継続)
        On Error Resume Next
        document_title = ""
        document_title = win.document.Title
        On Error GoTo 0
        'タイトルバーに引数が含まれるかチェック
        If InStr(document_title, arg_title) > 0 Then
            Set ie = win  '変数ieに取得したwinを格納
            Exit For      'ループを抜ける
        End If
    Next
    Set getIE = ie  '値の返却
End Function
HTMLはテキストデータだけど、HTMLDocumentオブジェクトはIEによる解釈後のHTMLとして操作することができる。

たとえばテキストデータとしてHTMLを扱った場合、<title>タグの抽出するためにはタグの開始位置・終了位置を判定して、その間の文字列を取得するという処理が必要。

でもDOM=HTMLDocumentオブジェクトとして扱った場合、サンプルコードのように「HTML文書のTITLE要素」「HTML文書のBODY要素中のHTMLコード」と直接的に指定できる。
MsgBox htdoc.Title          '<title>タグ
MsgBox htdoc.body.innerHTML '<body>タグの内側のHTML
他のサンプルで扱う内容だけれど、「クリック」するなど、DOMとして扱わなければ行えない処理もあるから、感覚をつかんでおいて。