我正在试着从彭博社网站上搜集一些信息,不需要订阅。url是:http://www.bloomberg.com/quote/BCOMTR:IND。代码运行得很好,没有bug,但是我试图粘贴内部文本的单元格仍然是空白的。你知道为什么我找不到它吗?
下面是我的代码:
Dim TDelements As Object
Dim TDelement As Object
Set oIE = CreateObject("InternetExplorer.Application")
sURL = "http://www.bloomberg.com/quote/BCOMTR:IND"
With oIE
.Navigate sURL
.Visible = True
Do While oIE.Busy: DoEvents: Loop
Do While oIE.ReadyState <> 4: DoEvents: Loop
Sheets("Sheet1").Activate
Range("A5").Select
Set Iedoc = oIE.document
For i = 0 To Iedoc.all.Length - 1
Set TDelements = Iedoc.getElementsByClassName("cell__value cell__value")
' loop thru each row in our table
' note we skip the first (header) row below ...
For Each TDelement In TDelements
If TDelement.className = ("cell__value cell__value") Then
ActiveCell.Value = TDelement(3).innerText
End If
Next
Exit For
Next i
End With
End Sub发布于 2015-07-02 01:26:11
找到我的答案了!
Dim htmCol As HTMLElementCollection
Set doc = New HTMLDocument
With CreateObject("MSXML2.XMLHTTP")
.Open "GET", "http://www.bloomberg.com/quote/BCOMTR:IND" & Code
.send
Do: DoEvents: Loop Until .readyState = 4
doc.body.innerHTML = .responseText
.abort
End With
Set htmCol = doc.getElementsByClassName("cell__value cell__value")(2)
Sheets("Sheet1").Activate
Range("A5").Select
ActiveCell.Value = htmCol.innerText结束子对象
https://stackoverflow.com/questions/31142001
复制相似问题