2016-10-24 1 views
0

다른 컨트롤을 기반으로 일부 콘텐츠 컨트롤의 텍스트를 프로그래밍 방식으로 업데이트하려고합니다. 다음 오류가 나타납니다.Word VBA ContentControl 오류 (잠긴 것으로 표시)

"런타임 오류 6124.이 선택 사항은 보호되어 있으므로 편집 할 수 없습니다."

여기 내 코드는 지금까지의 :

Private Sub Document_ContentControlOnExit(ByVal ContentControl As ContentControl, Cancel As Boolean) 

Select Case ContentControl.Title 
    Case "Party" 
     Call CascadeParty(ContentControl) 
End Select 

End Sub 



Sub CascadeParty(ByVal cControl As ContentControl) 

Dim con As ContentControl 

For Each con In ActiveDocument.ContentControls 
    If con.Title = "Party" Then 
     con.Range.Text = cControl.Range.Text ' ERROR HERE 
    End If 
Next con 

End Sub 

나는 또한 제어, 같은 문제 대신 문자열을 전달하려고했습니다. 아무도 대답이 on this similar post 도왔습니다. 문서가 보호되지 않으며 콘텐츠 컨트롤이 잠겨 있지 않습니다.

아이디어가 있으십니까? 감사.

업데이트 : 나는 깨끗한 새 문서에서 코드를 시험해 보았고 정상적으로 작동하므로 주어진 문서에 관한 내용입니다. 다시 말하지만, 아무 것도 보호받지 못해서 여전히 저는 잃어 버렸습니다.

답변

0

"보호 됨"은 아마도 ContentControl이 "편집 할 수 없음"으로 설정되었음을 의미합니다. "con.range.text = ...."라고 말하기 직전에 "con.LockContents = False"라는 줄을 넣으십시오. 그 직후에는 con.LockContents를 다시 True로 설정하려고합니다.