I have a text file on my website that contains only the string “1.15” (for the version of the application I am writing). Upon initialization of the user form, I would like to read that file from its URL and have the string “1.15” returned so that I can check it against the application’s version (stored as a const string).
Here is the format I’d like to have…
Const version As String = "1.14"
Const currentVersionURL As String = "http://mywebsite.com/currentversion.txt"
Sub UserForm_Initialize()
If version <> GetCurrentVersionNumber() Then
MsgBox "Please update the application."
End If
End Sub
Function GetCurrentVersionNumber() As String
' What do I put here? :(
End Function
I am aware of the Workbooks.OpenText method, but I don’t want to write the string into a workbook. I have tried using the ADODB.LoadFromFile and WinHttp.WinHttpRequest.Open methods, but both are unable to read the file.
Any suggestions for what to fill GetCurrentVersionNumber() with would be greatly appreciated. 🙂
While it doesn’t directly answer your question, a simpler approach would be to make it an XML file instead of a text file. There are more built-in tools to easily open an XML file from a URL. The secondary advantage is that it also makes it more flexible, so you can more easily add new data elements to the XML file later on.
For instance, if you made a
http://mywebsite.com/currentversion.xmlfile that looked like this:Then, in VB.NET you could easily read it like this:
Or, in VBA, you could read it like this:
You will need to add a reference to the Microsoft XML, v?.? library, though.