2014-01-30 2 views
6

Word 2010의 확인란을 클릭하면 매크로를 실행하고 싶습니다.Word 2010 Checkbox를 클릭하여 VBA 매크로를 실행하는 방법?

"기존 양식"확인란이나 "ActiveX"확인란을 원하지 않습니다. 그들은 "보호 된 문서 모드"로만 작동하며보기가 좋지 않지만, 문서를 작성하고 나에게 훨씬 좋게 보일 때 선택할 수 있고 선택 취소 할 수있는 새로운 것들이 필요합니다.

나는 그것을 떠나 폼 요소 하나를 입력 할 때 기존의 형태와 함께, 당신은 직접 매크로를 삽입 할 수 있습니다, 당신은

Sub CheckboxXY_Click() 

처럼 VBA에서 이벤트를 잡을 수 있습니다하지만 그건 작동하지 않습니다, 알고 Word 2010 확인란을 사용하여 설명과 태그 이름을 지정할 때도 마찬가지입니다.

반복 :이 내가 (레거시 것을 사용하라고 권합니다 경우를 누군가에) 사용하려는 형태이다 :

Word 2010 checkbox

은 그리고 그들이 (문서에 같이 방법

enter image description here

나는이 시도 처음이라고 믿을 수 없어

...

: 마우스를 가져가)와
+1

MS는 여전히 콘텐츠 컨트롤을 쉽게 프로그래밍 할 수 있도록 만들지 않았습니다. 그러나 [체크 아웃] (http://gregmaxey.mvps.org/word_tip_pages/content_control_custom_events.html)해야합니다. 이것은 좋은 시작이어야합니다. –

+0

아마도 루프? 의사 코드 : while (! checkbox.checked) { do nothing } 무언가를하십시오. – Mana

답변

3

당신은 코드의 어느 부분으로 활성화하는 확인란을 지정 ContentControl.Title 같은 것을 사용하여 원하는 ContentControl을 지정해야합니다 당신은 당신의 VBA 프로젝트의 문서에 가서 확인하고 "ContentControlOnEnter"를 선택 아래 예제에 나와 있습니다. (이 예제에서 체크 박스가 선택되었는지 확인하는 코드도 입력해야합니다)

Private Sub Document_ContentControlOnEnter(ByVal ContentControl As ContentControl) 
    If (ContentControl.Title = "Checkbox1" And ContentControl.Checked = True) Then 
     MsgBox "YAAY", vbOKOnly, "Test1" 
    End If 
    If (ContentControl.Title = "Checkbox2" And ContentControl.Checked = True) Then 
     MsgBox "BOOO", vbOKOnly, "Test2!" 
    End If 
End Sub 
관련 문제