使用 vba 读取 ngx-datatable table

Reading a ngx-datatable table with vba

我正在使用 VBA 连接到一个网页,我需要迭代的数据在 ngx-datatable table 中。但是当我连接到 table 时,它不会将其识别为 IHTMLtable。如果我将元素设置为通用 IHTMLEelement 类型,它不会出错,但它会将自己标识为“objHTMLUnknownelement”,然后当我尝试循环行时,它会抛出错误。我希望像我做其他人一样做这个,从第 0 行开始,遍历单元格,捕获我需要的东西并确保它在我想要的日期范围内,然后一旦我超过日期范围就停止。我可以连接到它并像对待常规 table 一样对待它吗?如果可以,我该如何声明元素类型。谢谢。

类似这样(使用代码中的例子URL)

Sub Tester()
    
    Dim Explorer As Object, doc, tbls, tr, tds, td, tbl, rws, rw
    Dim r As Long
    Set Explorer = GetIEByUrl("https://swimlane.github.io/ngx-datatable/*")
    
    Set doc = Explorer.document
    
    Set tbls = doc.getElementsByTagName("ngx-datatable")
    Debug.Print tbls.Length '>> 1
    Set rws = tbls(0).getElementsByTagName("datatable-body-row")
    Debug.Print rws.Length  '>> 100
    
    r = 0
    For Each rw In rws
        r = r + 1
        Debug.Print "**** Row " & r & " ****"
        Set tds = rw.getElementsByTagName("datatable-body-cell")
        For Each td In tds
            Debug.Print td.innerText
        Next td
    Next rw
  
End Sub

GetIEByURL:

'return an open IE tab given a [partial] URL
Function GetIEByUrl(URL As String) As Object
    Dim o As Object, rv As Object
    For Each o In CreateObject("Shell.Application").Windows
        If TypeName(o) = "IWebBrowser2" And o.Name <> "File Explorer" Then
            If o.document.Location Like "*" & URL & "*" Then
                Set rv = o
                Exit For
            End If
        End If
    Next o
    Set GetIEByUrl = rv
End Function