如何将VBA缓存xmlhttp请求返回值?

时间:2012-03-05 05:51:04

标签: excel caching vba xmlhttprequest user-defined-functions

我想缓存xmlhttp请求的返回值,以免在调用数百个此类请求时等待太长时间。

我已尝试在Array / Collection中缓存值,但是当Excel关闭并稍后重新打开时,所有缓存都会丢失!

更新

我在100个单元格中调用myDemo() 100次。这是它的VBA代码

Function myDemo (text)
    url = "http://demo.namgivu.com/FIP/index.php?r=excelFunction/onSO00&text=" & text
    url = url & "&currentTime=" & Now

    'Call service
    Set xmlHttp = CreateObject("MSXML2.xmlhttp")
    xmlHttp.Open "GET", url, False
    xmlHttp.Send
    result = (xmlHttp.responseText)

    myDemo = result
End Function

这是my excel file。当我打开它时Excel必须等待这么久......

1 个答案:

答案 0 :(得分:0)

关闭Excel时,无法将项目保留在变量中。要保留数据,您需要将其写在某处,无论是工作表,数据库还是其他地方,这在很大程度上取决于您正在做什么。当您使用UDF时,无法复制>粘贴特殊>公式顶部的值是否可以创建静态值?