听起来很简单吧?

我正在研究一个类项目,我需要来自一堆.gov网站的大量数据,我正在努力让它可靠地工作 .

我能够在单元格中只有文本的表格上完美地工作 . 我能够用HTML对象的.innertext函数做到这一点(当然我把我的flashdrive留在了学校,所以我看不到我用过的东西,数字) .

无论如何,我的问题是,当它们包含指向其他页面的链接时,我无法从某些单元格中获取信息 . 例如,在此OPM站点https://www.opm.gov/policy-data-oversight/pay-leave/salaries-wages/2017/general-schedule/上,有一个用于查看表单的Web选项,我无法将其复制到Excel中 . 复制单元格中的文本工作正常,但我无法弄清楚如何复制 href 文本 .

有没有人碰巧有这方面的经验,并希望能指出我正确的方向?

最好,

像往常一样迷失的无能的家伙 .

编辑:到目前为止,这是我的代码 . 我删除了关于href的部分,因为它们导致它无法工作,几乎肯定是不正确的 .

Sub GetTables()Dim doc As HTMLDocument Dim htmTable As HTMLTable Dim hpLink As IHTMLElement Dim data Dim x As Long,y As Long Dim oRow As Object,oCell As Object Dim oDom As Object:Set oDom = CreateObject(“htmlFile”)

x = 1
y = 1
Set doc = New HTMLDocument
With CreateObject("MSXML2.XMLHTTP")
    .Open "GET", "https://www.opm.gov/policy-data-oversight/pay-leave/salaries-wages/2017/general-schedule/"
    .send
    Do: DoEvents: Loop Until .readyState = 4
    doc.body.innerHTML = .responseText
    .abort
End With

Set htmTable = doc.getElementsByClassName("DataTable")(0)

With htmTable
    Debug.Print .Rows(0).Cells(1).innerText
    Debug.Print .Rows(6).Cells(1).innerText
    Debug.Print .Rows(7).Cells(1).innerText

    ReDim data(1 To .Rows.Length, 1 To .Rows(1).Cells.Length)
    For Each oRow In .Rows
        For Each oCell In oRow.Cells

            data(x, y) = oCell.innerText
            'Previously, I had attempted to use oCell.href to get the value 
            'but that did not work.

            y = y + 1
        Next oCell
        y = 1
        x = x + 1
    Next oRow
End With

Sheets(1).Cells(1, 1).Resize(UBound(data), UBound(data, 2)).Value = data

结束子