Con la función a continuación, puede verificar si un VBProject está protegido antes de intentar editar el proyecto:

Function ProtectedVBProject(ByVal wb As Workbook) As Boolean

' returns TRUE if the VB project in the active document is protected

Dim VBC As Integer

VBC = -1

On Error Resume Next

VBC = wb.VBProject.VBComponents.Count

On Error GoTo 0

If VBC = -1 Then

ProtectedVBProject = True

Else

ProtectedVBProject = False

End If

End Function

Ejemplo:

If ProtectedVBProject(ActiveWorkbook) Then Exit Sub