首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >vba抓取vba

vba抓取vba
EN

Stack Overflow用户
提问于 2015-06-30 23:08:21
回答 1查看 207关注 0票数 0

我正在试着从彭博社网站上搜集一些信息,不需要订阅。url是:http://www.bloomberg.com/quote/BCOMTR:IND。代码运行得很好,没有bug,但是我试图粘贴内部文本的单元格仍然是空白的。你知道为什么我找不到它吗?

下面是我的代码:

代码语言:javascript
复制
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
EN

回答 1

Stack Overflow用户

发布于 2015-07-02 01:26:11

找到我的答案了!

代码语言:javascript
复制
    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

结束子对象

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31142001

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档