【发布时间】:2019-03-26 05:54:50
【问题描述】:
我正在尝试在 ms-word 中组合一个表单,其中希望如果用户选中 3 个复选框选项中的 1 个,则其他两个及其相邻的文本将被隐藏。
我知道如何隐藏内容,但我完全不熟悉 VBA/编程作为一个整体,所以我不太清楚我的 If/Else 循环中有什么问题,但它绝对不会显示/隐藏所有内容。
Private Sub Document_ContentControlOnExit(ByVal ContentControl As ContentControl, Cancel As Boolean)
If ContentControl.Title = "checkbox1" And ContentControl.Checked = True Then
ActiveDocument.Bookmarks("Approve").Range.Font.Hidden = True
Else
ActiveDocument.Bookmarks("Approve").Range.Font.Hidden = False
End If
If ContentControl.Title = "checkbox2" And ContentControl.Checked = True Then
ActiveDocument.Bookmarks("Denied 1").Range.Font.Hidden = True
ActiveDocument.Bookmarks("Denied 2").Range.Font.Hidden = True
Else
ActiveDocument.Bookmarks("Sign1").Range.Font.Hidden = False
ActiveDocument.Bookmarks("Sign2").Range.Font.Hidden = False
End If
If ContentControl.Title = "checkbox3" And ContentControl.Checked = True Then
ActiveDocument.Bookmarks("pending").Range.Font.Hidden = True
Else
ActiveDocument.Bookmarks("pending").Range.Font.Hidden = False
End If
End Sub
如果我只保留 if/else 部分之一,它确实可以正常工作,但是当我保留所有 3 个时,它就不起作用了。
非常感谢任何指导!
【问题讨论】:
标签: vba checkbox ms-word ms-office