如何使用activex控件在Word中删除文本



我目前正在尝试在word上创建一个自动字母,对activex或vba基本上一无所知。

我想创建一个复选框,将显示文本(文本的一部分),只有当它被选中。我最初使用这样的代码来隐藏或显示文本。

Private Sub CheckBox1_Click()
If CheckBox1.Value = True Then
ActiveDocument.Bookmarks("TextToHide").Range.Font.Hidden = False
Else
ActiveDocument.Bookmarks("TextToHide").Range.Font.Hidden = True
End If
End Sub

然而,由于我的信有编号的子弹,这取决于哪个复选框被选中,字母的顺序是完全混乱的。示例:我不希望在信中包含子节1,3,5,6(它不是),但项目符号的顺序看起来像这样

  • 分段…
  • 分段…
  • 分段…
  • 我认为解决这个问题的唯一方法是完全删除子部分,以便项目号按正确的顺序排列。我尝试编写以下代码,但它不会删除子节/书签文本。

    Sub DeleteBookmark()
    If CheckBox1.Value = False Then
    ActiveDocument.Bookmarks("TextToHide").Delete
    End If
    End Sub
    

    有谁能帮我删除书签文本或更新子弹头的数字时隐藏的部分信件?

    尝试使用Range类的Delete方法:

    Sub DeleteBookmark()
    If CheckBox1.Value = False Then
    ActiveDocument.Bookmarks("TextToHide").Range.Delete
    End If
    End Sub
    

    最新更新