Word VBA ContentControl错误(显示已锁定)

时间:2016-10-24 13:40:09

标签: vba ms-word

我正在尝试以编程方式更新某些内容控件的文本,基于另一个控件。我收到以下错误:

“运行时错误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都没有帮助。该文档不受任何保护,并且没有任何内容控件被锁定。

有什么想法吗?感谢。

更新:我已经在一个新的干净文档中尝试了我的代码并且它工作正常,所以这是关于我已经给出的文档。再一次,没有任何东西受到保护,所以我仍然不知所措。

1 个答案:

答案 0 :(得分:1)

" Protected"可能意味着ContentControl设置为" Cannot Edit"。就在你说'#34; con.range.text = ..."之前,加上一行说出" con.LockContents = False"。在此之后,您可能希望将con.LockContents设置回True