Все,VBA HTML Зачистка - «.innertext» из сложной таблицы
Я создал следующий модуль, чтобы очистить одно значение (изменение ого% лондонские цены на жилье) по указанному ниже адресу:
https://www.hometrack.com/uk/insight/uk-cities-house-price-index/
Конкретное значение вложен в следующем коде:
в приведенной ниже VBA с Ода - моя попытка соскабливания. Я, возможно, ошибочно считаю, что я очень близок к тому, чтобы зафиксировать ценность, но код не будет работать.
Кто-нибудь знает, где я буду здесь не так? Он не показывает сообщение об ошибке, но также не выводит никаких значений.
Sub HousePriceData()
Dim wb As Workbook
Dim ws As Worksheet
Dim TxtRng As Range
Dim ie As Object
Dim V As Variant
Dim myValue As Variant
Set ie = CreateObject("INTERNETEXPLORER.APPLICATION")
ie.NAVIGATE "https://www.hometrack.com/uk/insight/uk-cities-house-price-index/"
ie.Visible = False
While ie.ReadyState <> 4
DoEvents
Wend
Set wb = ActiveWorkbook
Set ws = wb.Sheets("Input")
Set TxtRng = ws.Range("C15")
Set myValue = ie.document.getElementById("cities-index-table").getElementsByTagName("tr")(7).getElementsByTagName("td")(5)
TxtRng = myValue.innerText
End Sub
«код не будет работать» - можете ли вы подробно остановиться на этом? Что происходит или не происходит? Любые сообщения об ошибках? –
Здравствуйте, Tim, он возвращает «Ошибка времени выполнения» 13 ': Тип несоответствия'. Благодарю. – Pineapple
'getElementsByTagName (" tbody ") (12)' - таблица должна иметь только один элемент body. Когда у вас длинная строка кода, например, с несколькими местами, где она может быть ошибкой, лучше всего начать вытаскивать, разбивая ее на отдельные строки, каждый из которых имеет доступ только к одному элементу или коллекции. Вы имели в виду 'getElementsByTagName (" tr ") (12)'? –