Vba 将窗体的标签传递给ClassModule函数
我试图将标签作为对象传递给类模块。我只是试图将对象的引用传递给另一个函数,这在面向对象的语言中很简单,但在vba中我找不到解决方案。。。。 班级模块正在努力学习,并以不同的形式使用。最好给类模块引用一个标签,只是给用户一个状态反馈 (简化) 表格: 类模块:Vba 将窗体的标签传递给ClassModule函数,vba,ms-access,Vba,Ms Access,我试图将标签作为对象传递给类模块。我只是试图将对象的引用传递给另一个函数,这在面向对象的语言中很简单,但在vba中我找不到解决方案。。。。 班级模块正在努力学习,并以不同的形式使用。最好给类模块引用一个标签,只是给用户一个状态反馈 (简化) 表格: 类模块: Public Sub SetStatusLabel(ByRef lb As Label) Set StatusLabel = lb End Sub 这会导致错误“未设置对象变量(错误91)” 奇怪的是,这个例子也是这样的: Dim
Public Sub SetStatusLabel(ByRef lb As Label)
Set StatusLabel = lb
End Sub
这会导致错误“未设置对象变量(错误91)”
奇怪的是,这个例子也是这样的:
Dim l As Label
Set l = Me.lbReadState
l.Caption = l.Caption ' no error, so the reference seems to be working
GenericExcelImporter.SetStatusLabel l 'error 91
--谢谢你的帮助。Ms Access选择Me.lbReadState作为错误源,但您是对的,它是类模块…我不知道结束调试模式会清除全局变量,即使表单上没有任何更改…
GenericExcelImporter
肯定是实例化的?我无法复制它。你能给出一个完整的例子来说明这个问题吗?你使用的是类
还是模块
?这些在VBA中是不同的。模块就像一个静态类。类需要实例化。
Dim l As Label
Set l = Me.lbReadState
l.Caption = l.Caption ' no error, so the reference seems to be working
GenericExcelImporter.SetStatusLabel l 'error 91