Is there a clean way to extract the VBA from a spreadsheet and store it in a repository.
The spreadsheets hardly ever change but the VBA does. Storing the whole spreadsheet in the repository makes it difficult to do diffs across the different VBA revisions to see what code has changed and who changed it.
We use VBA 6.5 / Excel 2003.
Previous versions of Excel and Access (prior to 2003) supported VBA Source Code Version Control via an add-in. I have used this very effectively in Office 2000.
Visual SourceSafe (VSS) support for VBA was dropped with the release of Office 2003, but the add-in that was shipped with Office XP Developer apparently works with Office 2003.
Microsoft Knowledge Base articles:
Using Visual SourceSafe with Documents and VBA Code
Using the Visual SourceSafe Add-In with the Visual Basic Environment
Failing that you can use this code to extract the VBA code (from here but it was missing the final object cleanups). Read the webpage for caveats: