使用VBA允许复选框隐藏/显示Microsoft Word中的内容

时间:2019-03-22 02:53:21

标签: vba checkbox ms-word

我已经浏览了许多教程和指导视频,试图实现我的预期结果,即简单地允许表单中的复选框在选中时隐藏内容,或者在取消选中时重新显示内容,但似乎没有工作。

当前,我已经为要隐藏的内容创建了一个书签,并尝试使用以下语句在VBA中将其命名为

Private Sub CheckBox1_Click()
ActiveDocument.Bookmarks("bookmark").Range.Font.Hidden = CheckBox1.Value
End Sub

尽管如此,选择此复选框对内容没有影响。

还有其他我想念的东西吗(我正在使用Microsoft Word 2013)。

1 个答案:

答案 0 :(得分:1)

您的代码在测试时运行良好,但由于从未遇到过Word VBA中的用户表单/复选框,我遇到了一些问题,我怀疑您可能也有同样的想法。

例如,我做的第一件事是创建Insert --> Module。这是不正确的。您想要做的是Insert --> Userform,然后将checkbox上的ToolBox拖到

https://smallbusiness.chron.com/use-check-boxes-word-54673.html

然后双击复选框以显示将要运行的“模块”,请注意侧窗格中没有模块!编辑模块,然后返回到用户表单,然后按F5。应该为您提供一个复选框,该复选框将隐藏/取消隐藏您的文本。

这是我的模块:

Public Sub CheckBox1_Click()
   ActiveDocument.Bookmarks("bookmark").Range.Font.Hidden = CheckBox1.Value
End Sub

这是一张图片:

enter image description here

注意:我没有测试过如何在doc一词中插入复选框,我将为您提供一些学习知识!

更新:

此子项将使CheckBox在运行时出现,但是我不确定您将使用该逻辑来调用它,也许是诸如打开文档之类的事件?

Sub Loadform()
Load UserForm1
UserForm1.Show
End Sub

这可以通过键盘快捷键或事件来调用,但这将导致“弹出窗口”。如果您想要一个通知复选框,则可能需要使用此旧表格/复选框进行调查。我从上面跟踪了URL,但我认为它已过时。

enter image description here

更新:

您也可以轻松地将其添加到工具栏,但这并不是您想要的。我发现最好的方法是使用“域代码”,请参阅-> https://word.tips.net/T001571_Assigning_a_Macro_to_a_Button_in_Your_Text.html

我可以通过按CTRL + F9然后键入{ MacroButton Loadform ClickMe}然后单击此文本来使其工作。这可能是最好的选择,因为使用图像似乎不是一个好主意。.(https://answers.microsoft.com/en-us/msoffice/forum/all/using-graphic-with-macrobutton/a9c1ef3b-cf1f-48ba-92a8-c44bffcdc131)&(http://www.addbalance.com/usersguide/parts/macrobutton_fields.htm#Different_behavior

Gif示例:

enter image description here