我的UDF每次调用时都会从网页中提取数据。
连接就像:
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
这是拉动股票数据并且工作正常,但是当进行几百次UDF调用时,工作簿变得非常慢。
我的功能如下:
Function myFunction(id,element)
Call myConnection(id)
Select Case element
Case "p"
Set dados = oHtml.getElementsByClassName("thisClass")(0)
myFunction = dados.innerText
//etc...
End Select
End Function
有更好的(更快)方法吗?
我尝试将页面存储在某种缓存中。我试图将页面推入一个数组,但我无法编写正确的代码来获取和使用该数组中的页面。
数组应该有2个维度:
我知道这不是非常具体,但我经过了很多研究,无法继续前进,所以也许有人可以指出一些方向或提出解决方案。
提前致谢。