读书人

怎么取得当前焦点控件数组的最大上标

发布时间: 2012-12-26 14:39:28 作者: rapoo

如何取得当前焦点控件数组的最大下标
UBound(Me.ActiveControl)提示“缺少数组”

Me.ActiveControl.UBound 提示“对象不支持该属性或方法”
[最优解释]

枚举。
[其他解释]
Private Function GetActiveCtrlUbound() As Integer
Dim x As VB.Control
Dim MaxIndex As Integer

For Each x In Me.Controls
If VBA.VarType(VBA.CallByName(Me, x.Name, VbGet)) = vbObject Then '控件数组
If x.Name = Me.ActiveControl.Name Then
If MaxIndex < x.Index Then MaxIndex = x.Index
End If
End If
Next
GetActiveCtrlUbound = MaxIndex
End Function
[其他解释]

引用:
Private Function GetActiveCtrlUbound() As Integer
Dim x As VB.Control
Dim MaxIndex As Integer

For Each x In Me.Controls
If VBA.VarType(VBA.CallByName(Me, x.Name, VbGet)……

顶哦
[其他解释]
引用:
Private Function GetActiveCtrlUbound() As Integer
Dim x As VB.Control
Dim MaxIndex As Integer

For Each x In Me.Controls
If VBA.VarType(VBA.CallByName(Me, x.Name, VbGet)) = vbObject Th……


谢谢,虽然For Each比较耗资源,但好像也没更好的办法了。

读书人网 >VB

热点推荐