Hi,
Actually, if I read you question correctly, you want the sheet to remain
hidden if the workbook is opened read only. So I assume you want the user to
be able to unhide it if they open, not read only.
The solutions you have recieved are good but they really don't address the
read only issue.
To handle this you would add code such as this to the Open_Workbook object:
Private Sub Workbook_Open()
If ActiveWorkbook.ReadOnly = False Then
ActiveWorkbook.Unprotect "password"
End If
End Sub