Word VBA 删除带有特定标签的内容控件

Word VBA to delete Content Controls with specific Tags

我在SO上阅读了How to find and disable a content control by tag问题的答案(为了方便起见,下面是代码)。就我而言,我需要删除带有 SPECIFIC 标签的内容控件 (CC)。

例如,在文档中的 150 个 CCs 中,我只需要查找并删除那些 CCs 和标签 "DCC"(只是 CC,不是它的内容)。如您所知,我在 VB 方面有 no/limited 经验,非常感谢我可以 copy/paste 编写的脚本。

我在 Word 2007 中使用富文本抄送。

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

好吧,我想出了一种方法来做到这一点....不是最漂亮的代码,但我相信有更好的方法来做到这一点。但是,以我极其有限的 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