실제로 사용할 수있는 Word VBA의 WindowSelectionChange 이벤트가 있습니다. Word VBA 도움말 파일의 "응용 프로그램 개체에 이벤트 사용"에 설명되어 있습니다.
Public WithEvents App As Word.Application
그런 다음 일반 문서 열기 경우에, 당신은을 초기화 할 수 있습니다 :
트릭은 클래스 모듈에서 변수 (I가 광산 EventClassModule라는 이름의 한)가에서 WithEvents 키워드를 사용하여 응용 프로그램을 할당하는 것입니다
: 현재 응용 프로그램에 대한 변수를 선택 테이블 인 경우 EventClassModule에서
Dim oEvents As New EventClassModule
Private Sub Document_Open()
Set oEvents.App = Word.Application
End Sub
돌아 가기, 당신은 확인하기 위해 WindowSelectionChange 이벤트를 사용
Private Sub App_WindowSelectionChange(ByVal Sel As Selection)
If Sel.Information(wdWithInTable) And ThisDocument.ProtectionType = wdNoProtection Then
ThisDocument.Protect wdAllowOnlyFormFields
ElseIf ThisDocument.ProtectionType <> wdNoProtection Then
ThisDocument.Unprotect
End If
End Sub
이 코드는 커서가 위치를 변경할 때마다 호출됩니다. 나는 그것을 테스트했고 약간 까다 롭다. (oEvents 객체는 어떤 이유에서든 초기화되지 않는 경향이있다.) 바라건대 이것은 당신의 솔루션을위한 시작일 것이다.
글쎄, 이것은 보고서의 템플릿이며 드롭 다운 메뉴는 사용자가 기밀 수준을 선택할 수 있도록되어 있습니다. 사용자가 무엇을 고를지라도 문서에서 일반 텍스트로 끝나야합니다. 드롭 다운 목록은 인쇄 할 때 표시되지 않아야합니다. –