Access VBA:如何获取表单中被点击标签的名称?
Access表单中点击标签获取控件并执行操作的方法
核心解决思路
Access中没有直接的ActiveLabel属性,但可以通过Screen.ActiveControl获取当前被点击的标签控件——标签被点击时会自动成为当前活动控件,以此实现后续操作。
具体实现步骤
绑定通用点击事件
打开表单设计视图,选中需要响应点击的标签,在属性窗口的「事件」选项卡中,将「单击」事件关联到同一个VBA过程(比如命名为Label_Click)。重复此操作给所有目标标签绑定该过程。编写事件处理代码
在表单的VBA模块中添加以下代码:Private Sub Label_Click() Dim targetLabel As Label ' 获取当前点击的标签控件 Set targetLabel = Screen.ActiveControl ' 示例1:修改标签的Caption targetLabel.Caption = "已点击此标签" ' 示例2:设置字体颜色为红色 targetLabel.ForeColor = vbRed End Sub
额外注意事项
- 确保标签的「可见」和「启用」属性均设为「是」,否则无法触发点击事件。
- 若需要避免非标签控件误触发该过程,可添加类型判断:
Private Sub Label_Click() If TypeOf Screen.ActiveControl Is Label Then Dim targetLabel As Label Set targetLabel = Screen.ActiveControl ' 执行你的操作 targetLabel.ForeColor = vbRed End If End Sub
内容的提问来源于stack exchange,提问作者m. avi
相关产品推荐
相关产品推荐

