我在How to find and disable a content control by tag上阅读了关于问题的答案(以下是为方便起见的代码)。在我的情况下,我需要删除带有SPECIFIC标签的内容控件(CC)。
例如,在文档中的150个 CCs
中,我只需查找并删除那些 CCs
标记 "DCC"
(仅限CC,而不是其内容)。正如你所知,我没有/有限的VB经验,非常感谢我可以复制/粘贴的脚本。
我在Word 2007中使用Rich Text CC。
Private Sub DeleteCCByTag_Alternative(ccTag As String)
Dim cc As ContentControl
Set cc = ThisDocument.SelectContentControlsByTag(ccTag).Item(1)
With cc
.LockContentControl = False
.LockContents = False
.Range.Delete 'to delete CC content
.Delete (False)
End With
End Sub
答案 0 :(得分:0)
好吧,我能够找到一种方法来做到这一点....不是最漂亮的代码,我相信有更好的方法来做到这一点。但是,由于我非常有限的VB知识,下面的内容正在满足我的需求:
Sub DeleteCCByTag()
Dim oThisdoc As Word.Document
Dim oCC As ContentControl
Dim oCCs As ContentControls
Set oThisdoc = ActiveDocument
Set oCCs = oThisdoc.SelectContentControlsByTag("DCC")
For Each oCC In oCCs
If oCCs.Count > 0 Then
oCC.Delete False
End If
Next
End Sub