Using XML Within VBA

Using XML Within VBA


Does XML work with VBA (Visual Basic for Applications)? I’m looking for a quick and easy way to store variable information that will be static once it has been entered. I’m currently using Microsoft Excel. The user enters information that is specific to themselves, and then my VBA app uses that information. When you start the VBA app, it loads Excel, opens the simple spreadsheet, then assigns variables with that spreadsheet information, and finally closes Excel. This process takes a long time. Sounds to me like XML might be a better alternative.


You can definitely use XML within VBA. Enter the VBA editor from Excel or what other application that you’re dealing with. From the Tools menu, select the References menu item. When the available ActiveX components pop up, click on the Microsoft XML, version 2.0 box to add it to your references, at which point you can click OK to exit the dialog box. This makes sure that you have the references available. You can then create a DOMDocument to handle all of your XML requirements:

dim xmlDoc as DOMDocumentset xmlDoc=new DOMDocumentxmlDoc.load "myFile.xml"

While XML isn’t complicated, it does take some time to get used to working with it. However, to answer your question about Excel and XML?XML has a much smaller memory footprint, can work on both the client and the server, is supported by a wide host of other systems beyond Microsoft, and is easily persisted and transmitted?all of which make it superior to Excel as a data storage or persistence mechanism.


Share the Post: