vba的废表方法

时间:2016-06-02 07:58:30

标签: excel vba excel-vba

我尝试了这段代码,但它无法正常运行 它应该得到表(第20号 - 通过出售订单簿(XBT / EUR),右边一个)。但是我收到了一个错误:

  

对象变量或未设置块变量(错误91)

我做错了什么?

Sub Kraken()

    Dim IE As Object
    Dim tbls, tbl, trs, tr, tds, td, r, c

    Set IE = CreateObject("internetexplorer.application")

    IE.navigate "https://www.kraken.com/charts"
    Application.Wait Now + TimeSerial(0, 0, 2)

    Set tbl = IE.document.getElementsByTagName("table")(17)
    Set trs = tbl.getElementsByTagName("tr")

    For r = 0 To trs.Length - 1
        Set tds = trs(r).getElementsByTagName("td")
        If tds.Length = 0 Then Set tds = trs(r).getElementsByTagName("th")

        For c = 0 To tds.Length - 1
            ActiveSheet.Range("B20").Offset(r, c).Value = tds(c).innerText
        Next c
    Next r
IE.Quit
Set IE = Nothing
End Sub

1 个答案:

答案 0 :(得分:0)

您收到错误是因为IE.document.getElementsByTagName("table")(17)没有向tbl提供任何内容。

Order Book (XBT/EUR)使用表格1作为:

Set tbl = IE.document.getElementsByTagName("table")(1)