我一直在excel中使用VBA类模块一段时间,但我不确定我是否正确创建它们.我通常为类创建模块级变量,然后是属性let和get函数.例如:
Private msRegion As String
Property Get Region() As String
Region = msRegion 'Return the Region
End Property
Property Let Region(ByVal sRegionName As String)
msRegion = sRegionName 'Set the Region
End Property
Run Code Online (Sandbox Code Playgroud)
当我查看本地窗口中的对象时,我注意到对于每个属性,我最终得到了模块作用域变量和Let函数所需的变量.这对我来说似乎是一个变量的重复.我担心如果我将每个具有多个属性的大量对象实例化,那么在资源方面它可能是昂贵的.
我试图修改代码,以便只有一个变量在对象类中,但到目前为止我只收到错误消息.
有没有人知道在类模块中创建不会导致重复变量的属性的方法?
编辑:
我刚刚看了一下我的本地窗口,并意识到属性let的参数不存在.这两个表达式似乎是私有存储的变量和proprty获取值,在本例中为msRegion和Region.这符合Cor_Blimey的回答.
您是否尝试在调用该类的代码中获取或设置msRegion属性?如果你这样做,你会发现它不可调用.
您正在构建类.
locals窗口显示所有声明的变量,包括类中的私有varibale.
归档时间: |
|
查看次数: |
719 次 |
最近记录: |