This project contains a simple mechanism which always ensures VBProject is available.
The project exposes a class. When the class initialises it will set VBProject extensibility mode to true. When the class de-initialises it will reset the VBProject extensibility.
Sub doSomething() With new VBProjectHack 'Do work... Debug.Print ThisWorkbook.VBProject.Name End with End Sub