Just how I would look into this.
1. Google. Example:
http://www.google.com/search?hl=en&q=vb6+crash+excel+protected+sheet
2. Read the first hit.
"If Sheet1.ProtectionMode = True Then
'UserInterface
ElseIf Sheet1.Protection.AllowEditRanges = True Then
End If" is in the example to see if the sheet or ranges are protected.
3. Using that information I could alter my code to check if the sheet is protected and bail out.
Remember it's your code. You are the author so you get to find where you crashed.
Bob
For some years I have successfully used VB6 to Automate Office 2000.
I have now Upgraded to Office 2003.
Re-compiling my VB6 works fine on PCs with Office 2003, but crashes when reading or opening protected Excel W/Bs if user has Office 2000.
Something effecting VB6 has changed during upgrade. Any ideas?
Do I need new dlls, etc for installing on PCs with Office2000?

Chowhound
Comic Vine
GameFAQs
GameSpot
Giant Bomb
TechRepublic