Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba 将窗体的标签传递给ClassModule函数_Vba_Ms Access - Fatal编程技术网

Vba 将窗体的标签传递给ClassModule函数

Vba 将窗体的标签传递给ClassModule函数,vba,ms-access,Vba,Ms Access,我试图将标签作为对象传递给类模块。我只是试图将对象的引用传递给另一个函数,这在面向对象的语言中很简单,但在vba中我找不到解决方案。。。。 班级模块正在努力学习,并以不同的形式使用。最好给类模块引用一个标签,只是给用户一个状态反馈 (简化) 表格: 类模块: Public Sub SetStatusLabel(ByRef lb As Label) Set StatusLabel = lb End Sub 这会导致错误“未设置对象变量(错误91)” 奇怪的是,这个例子也是这样的: Dim

我试图将标签作为对象传递给类模块。我只是试图将对象的引用传递给另一个函数,这在面向对象的语言中很简单,但在vba中我找不到解决方案。。。。 班级模块正在努力学习,并以不同的形式使用。最好给类模块引用一个标签,只是给用户一个状态反馈

(简化) 表格:

类模块:

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