繁体   English   中英

使用“MSForms.Control”类型的变量时出错

[英]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.ControlAccess.ComboBox 除非你弄乱了引用的顺序,否则你可以将它们称为ControlComboBox

此外,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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM