我想点击 Word 2010 中的复选框时运行宏。
请注意,我既不想要“Legacy Forms”复选框也不想要“ActiveX”复选框!它们只能在某些“受保护的文档模式”下工作并且看起来很难看,但我想要新的那些可以在你编写文档时选择和取消选择,这对我来说看起来更好。
我知道,使用遗留表单,您可以在输入表单元素时直接插入宏,而在离开表单元素时可以直接插入宏,您可以在VBA中捕获事件,如
Sub CheckboxXY_Click()
但即使我向他们提供说明和标记名称,这对Word 2010复选框也不起作用。
重复:这些是我想要使用的表单(以防万一有人建议我使用Legacy表单):
这就是它们在文档中的样子(鼠标悬停):
我无法相信我是第一个试过这个的人......
答案 0 :(得分:3)
确保转到VBA项目中的文档并选择“ContentControlOnEnter”
您必须使用ContentControl.Title之类的内容指定您想要的内容控件,以指定哪个复选框激活代码的哪一部分,如下例所示。 (我还输入了代码来验证示例中是否选中了复选框)
Private Sub Document_ContentControlOnEnter(ByVal ContentControl As ContentControl)
If (ContentControl.Title = "Checkbox1" And ContentControl.Checked = True) Then
MsgBox "YAAY", vbOKOnly, "Test1"
End If
If (ContentControl.Title = "Checkbox2" And ContentControl.Checked = True) Then
MsgBox "BOOO", vbOKOnly, "Test2!"
End If
End Sub