День добрый. Не силен с DOM, но разбираюсь потихоньку. Застрял с такой проблемой.
Код |
---|
Sub Generic_Match_List()
Dim i As Integer, r As Integer, c As Integer
Dim mas As Variant
Dim my_url As String
For i = 1 To Range("Список[Ссыль]").Count
my_url = Range("Список[Ссыль]")(i) & "/matches/"
Set html_doc = CreateObject("htmlfile")
Set xml_obj = CreateObject("MSXML2.XMLHTTP")
xml_obj.Open "GET", my_url, False
xml_obj.send
html_doc.body.InnerHTML = xml_obj.responseText
Set xml_obj = Nothing
'Получение массива с данными
With html_doc.body.getElementsByTagName("table")(0).getElementsByTagName("tr")
ReDim mas(.Length, 6)
For r = 1 To .Length
For c = 0 To 5
mas(r, c) = .item(r).Cells(c).innertext
Debug.Print mas(r, c)
Next c
mas(r, 6) = .item(r).getElementsByClassName("score-time score")(0).GetAttribute("href")
Debug.Print mas(r, 6)
Next r
End With
Next i
End Sub
|
Ошибку создает строка
Код |
---|
mas(r, 6) = .item(r).getElementsByClassName("score-time score")(0).GetAttribute("href")
|
Логика такая: в HTML таблице нахожу нужную строку, в ней ищу элементы (столбцы <td>) с классом "score-time score", а такой там один, далее пытаюсь получить из него ссылку. Генерирует ошибку object doesn't support this property or method. Знаю, что проблема начинается с метода getElementsByClassName("score-time score")(0). Но найти решение пока не выходит. Думаю ответ на поверхности, может кто подскажет.