The VBIDE object model doesn’t offer any native property or method to determine whether the IDE is in design-time mode, run-time mode, or debug (break) mode. However, it’s easy to deduct this information by looking at the Enabled property of the menu commands in the Run top-level menu:
' this code assumes that VBInstance holds a reference' the the VBE root objectWith VBInstance.CommandBars("Run") If .Controls("End").Enabled = False Then ' we are in design mode ElseIf .Controls("Break").Enabled Then ' we are in run mode Else ' we are in break mode End ifEnd With
Note, however, that this code might not work under localized versions of Visual Basic.