gpt4 book ai didi

vba - 加载的 XML 文件会被缓存,不会更新

转载 作者:行者123 更新时间:2023-12-03 02:58:38 26 4
gpt4 key购买 nike

我有一个简单的 XML 文件,其中包含 VBA 应用程序的当前版本号。应用程序初始化后,我调用 GetCurrentVersionNumber() 函数来获取该版本号。问题是,当我更改服务器上的 XML 文件时,VBA 无法识别它。它似乎正在读取 XML 文件的缓存版本。

VBA 中有没有办法防止正在加载的 XML 文件被缓存?或者,还有其他解决方法吗?

这是函数:

Function GetCurrentVersionNumber() As String

Dim doc As MSXML2.DOMDocument60
Set doc = New MSXML2.DOMDocument60

doc.async = False
If Not doc.Load("http://mywebsite.com/myfile.xml") Then
Debug.Print "Unable to retrieve current application version."
GetCurrentVersionNumber = ""
Exit Function
End If
GetCurrentVersionNumber = doc.SelectSingleNode("/Application/Version").Text

End Function

如果我转到默认浏览器 (Chrome),导航到 XML 文件,然后按 Shift+F5 强制重新加载,VBA 应用程序随后就会更新。

最佳答案

一种方法是在 URL 末尾附加一个(随机)虚拟查询字符串。这将“强制”重新获取(因为 URL 唯一性考虑了查询字符串)

Dim qs as string
qs = Cstr(rnd()*1e6)

If Not doc.Load("http://mywebsite.com/myfile.xml?" & qs) Then
...

关于vba - 加载的 XML 文件会被缓存,不会更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12374528/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com