VBA按ID获取元素

时间:2015-02-18 14:23:08

标签: vba excel-vba excel

你好我会感谢一些建议,我需要将一些数据从网页复制并传递给excel,但我是否可以这样做。

让我们说我有一个文件:

 A        B          
Link     Data

我需要打开“A”上的链接复制页面的<span id="JS_topStoreCount"></span>结果并粘贴“B”

我有很多行,所以必须对所有行重复相同的行

1 个答案:

答案 0 :(得分:0)

您可以使用XMLHTTP请求创建自定义函数:

Public Function giveMeValue(ByVal link As String) As String
    Set htm = CreateObject("htmlFile")
    With CreateObject("msxml2.xmlhttp")
       .Open "POST", link, False
       .send
       htm.body.innerhtml = .responsetext
    End With
    With htm.getelementbyid("JS_topStoreCount")
       giveMeValue = .innerText
    End With
    htm.Close
    Set htm = Nothing
End Function

只需在单元格中插入函数,例如在B1:

=giveMeValue(A1)

当然,如果您不想使用函数,可以将函数的内容嵌入到Do Loop中,并且每次通过重新定义{{1}的值时,仅在所有单元格中动态运行一次和link应该打印的地方。