我目前正在尝试在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