如何解决vba 无法清除单词 ContentControl 内容
LockContets = False
,但即便如此,仍然出现错误“您不能编辑此选择,因为它受到保护”
代码如下:
Sub test()
Dim CC As ContentControl
For Each CC In ActiveDocument.ContentControls
Debug.Print CC.Type
Debug.Print CC.Range.Text
CC.LockContentControl = True
CC.LockContents = False
CC.Range.Text = "" <--error here
Next CC
End Sub
为什么会这样?怎么解决?
解决方法
内容控件的类型很多,你只需要添加一个 if 条件来检查内容控件类型是否为文本
Sub Test()
Dim CC As ContentControl
For Each CC In ActiveDocument.ContentControls
CC.LockContents = False
If CC.Type = wdContentControlRichText Or CC.Type = wdContentControlText Then
CC.Range.Text = ""
End If
Next CC
End Sub
,
您不能从下拉列表、复选框或图片内容控件中清除文本,因为它们没有可编辑的文本属性。
尝试以下方法:
Sub Test()
Dim CC As ContentControl
For Each CC In ActiveDocument.ContentControls
With CC
.LockContentControl = True
.LockContents = False
Select Case .Type
Case wdContentControlRichText,wdContentControlText,wdContentControlComboBox,wdContentControlDate
.Range.Text = ""
Case wdContentControlDropdownList
.Type = wdContentControlText
.Range.Text = ""
.Type = wdContentControlDropdownList
Case wdContentControlCheckBox: .Checked = False
Case wdContentControlPicture: .Range.InlineShapes(1).Delete
End Select
End With
Next CC
End Sub
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。