1
votes

I have a .xlsm format excel (2013) spreadsheet (containing vba macros) that I wish to convert to .xml (to save in a non-proprietary format in a repository, and to provide version control e.g. automated merging of branches in git).

As explained here and here, .xlsx files are zipped xml, so they can be converted by simply unzipping.

I tried this with a macro-enabled .xlsm file, and I do get an xml structure of the spreadsheet. But I can't find the macros anywhere. Does anyone know where the macros are stored in .xlsm and where to find them in the corresponding unzipped folder.

1
For "version control", I usually just export the VBA modules and then store those text files. Not ideal, but better than nothing.YowE3K

1 Answers

5
votes

If you unzip the *.xslm you will find a /xl/vbaProject.bin within the ZIP archive. This is the binary file which contains the macros.