Excel VBA:如何避免代码重复-类似属性
我有一个Excel VBA:如何避免代码重复-类似属性,excel,vba,function,Excel,Vba,Function,我有一个类,它有一堆看起来几乎相同的属性。 如果不是gXXXReady,则“检查全局布尔变量gXXXReady 调用对象。子过程yyy() 如果结束 设置XXX=gXXX'将全局变量用作属性值 端属性 这些属性之间的区别是XXX和``YYY'` 有没有办法简化这段代码?比如: Private Function UniversalGetFunc(ByVal VarName As String, ByVal MethodName As String) If Not GetVarByName(
类
,它有一堆看起来几乎相同的属性。
如果不是gXXXReady,则“检查全局布尔变量gXXXReady
调用对象。子过程yyy()
如果结束
设置XXX=gXXX'将全局变量用作属性值
端属性
这些属性
之间的区别是XXX
和``YYY'`
有没有办法简化这段代码?比如:
Private Function UniversalGetFunc(ByVal VarName As String, ByVal MethodName As String)
If Not GetVarByName(VarName) Then
call Object.CallProcedureByName("SubProcedure" & MethodName)
End If
End Function
...
' Usage
Property Get XXX() As Collection
UniversalGetFunc("XXX", "YYY")
set XXX = gXXX
End Property
其中GetVarByName
和CallProcedureByName
显然是虚构的函数<代码>对象对于我的所有属性都是相同的,因此无需将其传递给UniversalGetFunc
甚至可以使用(Office VBA?)
谢谢大家!
PS:The如果您已经有一个全局变量(
gXXX
),为什么需要将其设置为属性?或者你的意思是它对类来说是全局的,但在类之外不是公共的(aPrivate
global)?确切地说。全局变量是私有的,由属性Get
(=只读)读取。