Word VBA删除具有特定标记的内容控件

时间:2015-01-16 17:55:44

标签: vba word-vba

我在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

1 个答案:

答案 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