2012-03-05 44 views
1

我想緩存xmlhttp請求的返回值,以免在調用數百個這樣的請求時等待太久。如何向VBA緩存xmlhttp請求返回值?

我已經嘗試緩存數組/集合中的值,但是當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打開時必須等待很長時間...

+0

由於您想要控制何時刷新結果,因此您可能不應使用UDF。將它切換出來,直接更新單元值。 – 2012-03-05 15:53:01

+0

演示文件中的某些內容使UDF變得不穩定。因此,每次使用UDF進行編輯或更新都會重新計算。嘗試使用CTRL + SHIFT + ALT + F9進行依賴樹重建。 – 2012-03-06 00:23:29

回答

0

當Excel關閉時,您無法將項目保存在變量中。爲了保存數據,你需要把它寫在某個地方,無論是工作表,數據庫還是其他地方,都非常依賴於你正在做的事情。在使用UDF時,您不能在公式頂部複製>粘貼特殊值>來創建靜態值嗎?