我使用excel從網頁獲取值。 HTML中包含下列表格:Excel VBA:獲取HTML表格的內部文本td
<div id="myDiv">
<table class="myTable">
<tbody>
<tr>
<td>Text1:</td>
<td class="data"><strong>0.51</strong></td>
</tr>
<tr>
<td>Text2:</td>
<td class="data"><strong>2199</strong></td>
</tr>
</tbody>
</table>
</div>
頁面存儲在變量oHtml中。在表格之外抓取其他元素的工作正常。但是,例如,當我嘗試捕獲值0.51時,我在控制檯中使用JS:
document.getElementById("myDiv").getElementsByClassName("myTable")[0].getElementsByClassName("data")[0].innerText
然後選擇值0,51。
但是,函數內部使用的以下VBA代碼正在返回#VALUE!
Function myFunction(id)
Call myConnection(id)
Set myDadta = oHtml.getElementById("myDiv").getElementsByClassName("myTable")(0).getElementsByClassName("data")(0)
myFunction = myData.innerText
End Function
這是連接到IE:
Public Sub myConnection(id)
Set oHtml = New HTMLDocument
With CreateObject("WINHTTP.WinHTTPRequest.5.1")
.Open "GET", "http://www.example.com" & id, False
.send
oHtml.body.innerHTML = .responseText
End With
End Sub
正如我所說的,這種語法是工作的罰款與此相同頁面的其他元素了這個表的,所以爲什麼我得到這個錯誤?
+ 1大聲笑很好聽:) –
這只是第一眼。代碼存在更多問題。發佈更新... –
對不起,它返回#VALUE!你能得到這個頁面的Beta值(1.12)http://www.reuters.com/finance/stocks/overview?symbol=PTI.LS –