我正在尝试以编程方式更新某些内容控件的文本,基于另一个控件。我收到以下错误:
“运行时错误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 :(得分:1)
" Protected
"可能意味着ContentControl
设置为" Cannot Edit
"。就在你说'#34; con.range.text = ...
"之前,加上一行说出" con.LockContents = False
"。在此之后,您可能希望将con.LockContents
设置回True
。