[英]What VBA objects can I use for reference?
对于创建对象变量的基本功能,我可以引用哪些形式出现在用户窗体中的对象?
例如,我知道
Dim button As CommandButton
Set button = CommandButton1
button.Caption = "Text I can change for this object."
将运行并更改CommanButton1的属性。 由于不匹配错误,这似乎不适用于用户表单中的标签或文本框。 有没有可用这种方式使用的对象列表,有没有一种方法可以将像这样的标签或文本框用于数组?
既然您在注释中指示您正在为用户表单按类型查找数组,这是适用于标签( MsForms.Label
)的示例的粗略草稿。 它仍然循环遍历所有控件,但是一旦创建了数组,您就可以自由使用它。
Option Explicit
Private labels() As MSForms.label
Private Sub PopulateLabelArray()
Dim ctrl As Control
Dim count As Long
Dim lbl As Variant
For Each ctrl In Me.Controls
If TypeOf ctrl Is MSForms.label Then
count = count + 1
End If
Next
ReDim labels(1 To count)
count = 0
For Each ctrl In Me.Controls
If TypeOf ctrl Is MSForms.label Then
count = count + 1
Set labels(count) = ctrl
End If
Next
End Sub
Private Sub UserForm_Initialize()
Dim lbl As variant
'Populate the label array.
PopulateLabelArray
'Test the array
For Each lbl In labels()
Debug.Print lbl.Caption
Next
End Sub
我确定可以对此进行改进,但这是功能。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.