2008-10-28 7 views
2

암호없이 보호 된 Excel 워크 시트가 있습니다. 내가하고 싶은 것은 사용자가 워크 시트의 보호를 해제하여 메시지를 생성 할 수있는 이벤트를 트랩하는 것입니다. 응용 프로그램, 새 통합 문서 열 때 등 이벤트 검사를 설정할 수는 있지만 Unprotect는 사용할 수 없습니다.
누구나 아이디어가 있습니까?Excel에서 워크 시트 보호 해제 이벤트 트랩

답변

1

도구 -> 사용자 정의를 사용하여 메뉴를 수정할 수 있습니다./보호 해제 예를 들어, 매크로를 실행하도록 설정할 수 있습니다 보호 : 사용자가 시트 보호를 해제 트랩 할 수있는 방법이 없습니다

Sub UnprotectTrap() 
If ActiveSheet.ProtectContents = True Then 
    MsgBox "Tut,tut!" 
    ActiveSheet.Unprotect 
Else 
    ActiveSheet.Protect 

End If 
End Sub 
0

,하지만 그들은 시트를 reprotecting하지 않고 통합 문서를 저장하면 당신이 그들에게 경고 할 수 있습니다 (들) . 통합 문서 모듈에서

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) 
    If Sheets("MyProtectedSheet").ProtectContents = False Then 
    MsgBox "The sheet 'MyProtectedSheet' should not be left unprotected. I will protect it before saving", vbInformation 
    Sheets("MyProtectedSheet").Protect 
    End If 
End Sub 
맘이 코드 또는 뭔가를 넣어
관련 문제