繁体   English   中英

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

[英]Word VBA to delete Content Controls with specific Tags

我阅读了有关如何在SO上通过标记查找和禁用内容控件的问题的答案(以下是为您提供方便的代码)。 就我而言,我需要删除带有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

好吧,我能够找出一种方法来执行此操作。。。。。。。不是最漂亮的代码,而且我敢肯定,有更好的方法可以执行此操作。 但是,由于我对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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM