VBAアプリケーションの現在のバージョン番号を含む単純なXMLファイルがあります。アプリケーションの初期化時に、関数を呼び出してGetCurrentVersionNumber()
そのバージョン番号を取得します。問題は、サーバー上のXMLファイルを変更すると、VBAがそれを認識しないことです。XMLファイルのキャッシュバージョンを読み取っているようです。
ロードされているXMLファイルがキャッシュされないようにする方法はVBAにありますか?または、これに対する別の回避策はありますか?
関数は次のとおりです。
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アプリケーションが更新されます。