我有一个看起来像这样的函数:
Public Function GetData(DataType As String) As String
Dim Client As New WebClient
Client.BaseUrl = "http://url/to/get/data"
Dim Response As New WebResponse
Set Response = Client.GetJson(DataType)
GetInstruments = Response.Data("data")
End Function
这是一个简单的HTTP GET,它基于参数返回值。
我的问题是,我试图在Excel(即=GetData(A$1)
)中一次对许多不同的单元执行此功能,这会导致数百次HTTP调用,这非常慢。
在VBA中,有一种方法可以拦截函数调用,这样我就可以进行单个快速HTTP调用,然后立即返回所有数据?
我有一个看起来像这样的函数:公共函数GetData(DataType As String)As String Dim Client as New WebClient Client.BaseUrl =“ http:// url / to / get / data” Dim Response As ...] >
您可以在模块中使用全局变量来缓存和重复使用已下载的数据。
第一个使用简单的Collection
易于理解的示例: