office交流网--QQ交流群号

Access培训群:792054000         Excel免费交流群群:686050929          Outlook交流群:221378704    

Word交流群:218156588             PPT交流群:324131555

如何获取当前激活的子窗体控件的名称

2021-01-03 10:03:00
zstmtony
原创
17668
 '如果焦点在主窗体里的子窗体控件里的子窗体的控件上,则以下代码
MsgBox Screen.ActiveControl.Name  '当前获得焦点的子窗体控件里面的控件的名称
MsgBox Screen.ActiveForm.Name  '当前激活的窗体的名称 (主窗体)
MsgBox Screen.ActiveControl.Parent.Name  '当前激活的子窗体的名称 (子窗体)

MsgBox Screen.ActiveControl.Parent.Parent.Name '当前激活的子窗体的父容器名称 (主窗体)



Dim ctr As Control
For Each ctr In Screen.ActiveControl.Parent.Parent
If TypeOf ctr Is SubForm Then
MsgBox ctr.Name '子窗体控件的名称  (非子窗体窗体)
End If

Next




更简单的方法 获取当前激活的子窗体控件的名称


Dim ctr As Control
For Each ctr In Screen.ActiveForm.Controls
If TypeOf ctr Is SubForm Then
MsgBox ctr.Name '子窗体控件的名称

'如果希望判断 是否焦点所在的子窗体,可以再判断 if ctr.Form.Name=Screen.ActiveControl.Parent.Name Then  相等就是激活的子窗体
End If

Next

分享