[英]Error using "MSForms.Control" type of variable
我一直在尝试运行此代码以获取表单上每个控件的标题(本例中为 combobox)。 但它一直告诉我“类型不匹配”。 请帮忙。 谢谢。
Private Sub Command266_Click()
Dim ctrl As MSForms.Control
Dim x As Long
x = 0
For Each ctrl In Me.Controls
Select Case True
Case TypeOf ctrl Is MSForms.ComboBox
MsgBox "control caption is" & ctrl.Caption, vbOKOnly, " test"
End Select
Next ctrl
End Sub
“MS Access 表单”不是“MSForms”。 MSForms 是一种单独的 UI 技术,可用于例如为 Excel 创建 UI windows。
您需要改用类型Access.Control
和Access.ComboBox
。 除非你弄乱了引用的顺序,否则你可以将它们称为Control
和ComboBox
。
此外,Access 中的ComboBox
控件没有Caption
属性。 如果要获取与 combobox 关联的 label 的标题,可以使用Controls(0)
属性。
因此,以下代码应该可以工作:
Dim ctrl As Control
Dim lbl As Label
For Each ctrl In Me.Controls
Select Case True
Case TypeOf ctrl Is ComboBox
Set lbl = ctrl.Controls(0)
MsgBox "control caption is " & lbl.Caption, vbOKOnly, "test"
End Select
Next ctrl
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.