需要帮助使用Excel XMLHTTP获取子元素

时间:2015-11-22 11:51:04

标签: excel

我可以成功获得所有游戏'但是不能使用for循环获取游戏细节。我总是得到这个错误

object doesn't support this property or method

在这一行

 Debug.Print game.getElementsByClassName("date").innerText

以下是我的代码,

Dim doc As HTMLDocument

    Set doc = New HTMLDocument
    With CreateObject("MSXML2.XMLHTTP")
        .Open "GET", "http://foo.bar"
        .send
        Do: DoEvents: Loop Until .readyState = 4
        doc.body.innerHTML = .responseText
        .abort
    End With

    Set games = doc.getElementsByClassName("match")
    For Each game In games
        Debug.Print game.getElementsByClassName("date").innerText
    Next game

1 个答案:

答案 0 :(得分:1)

getElementsByClassName method是一个集合。如果要引用集合中的单个项目,则必须提供的最小值是基于零的索引的整数。

Debug.Print game.getElementsByClassName("date")(0).innerText

这将在游戏元素(它是集合本身的一部分)中显示第一个带有 date 类的元素。

或者,循环使用它们。

for el = 0 to game.getElementsByClassName("date").length - 1
    Debug.Print game.getElementsByClassName("date")(el).innerText
next el

.Length 是一个基于一的计数,因此您需要减去 1 以匹配从零开始的索引。