ExcelVBAで、IE(あるいはIEモードのEdge)を捕まえて、(html)documentの中身をさらう
エクセルファイル
santarou6/excelvba_ie_edge
https://github.com/santarou6/excelvba_ie_edge/blob/main/sample.xlsm
従来方式
'/----------
Sub a1()
    Set objShell = CreateObject("Shell.Application")
    For Each ie_target In objShell.Windows
        Debug.Print ie_target.LocationName
    Next
End Sub
'/----------
Sub a2()
    Dim ie_target
    Set objShell = CreateObject("Shell.Application")
    
    For Each ie_target In objShell.Windows
       'Debug.Print ie_target.LocationName
    
        pp = "Google" '"捕まえたいIEのウィンドウのタイトル名"
    
        If Left(ie_target.LocationName, Len(pp)) = pp Then
        Set ie_object = ie_target
        For Each i In ie_object.document.all
            If i.tagName = "DIV" Then
                Debug.Print i.innerHTML
            End If
        Next i
        
        End If
    
    Next
End Sub
「IE11」終了後、EdgeのIEモードの場合
下記で、Internet Explorer_Serverから、
HtmlDocumentを取得するソースをgithubに上げてらっしゃいました。
素晴らしい。。。
Benshi/HtmlDocumentHelper.bas
https://gist.github.com/Benshi/8442005d21e8e74bd4d3735a3e77c417
https://twitter.com/Benshi_Orator/status/1395608086807650304
https://twitter.com/Benshi_Orator/status/1396767727314903040
https://twitter.com/Benshi_Orator/status/1396770128012791818
呼び出し例(エクセル)
HtmlDocumentHelper.bas の 呼び出し例(エクセル)
Sub test1()
    Dim hd As MSHTML.IHTMLDocument
    Set hd = GetHtmlDocument(&H95065C) '← 95065C が hwnd
    Debug.Print hd.body.outerHTML
    Sheets("Sheet1").Cells(1, 1).Value = hd.body.outerHTML
End Sub
IEのhwndを得る方法
Internet Explorer_Serverのhwndを得る方法は、以下が一例
ExcelVBAで、Windowsの全画面のhwndとClassNameを列挙(一部クラス名で絞込)
https://qiita.com/santarou6/items/6a2c2e186cd0d555d2bd
エクセルファイル
santarou6/excelvba_ie_edge
https://github.com/santarou6/excelvba_ie_edge/blob/main/sample.xlsm
以上