首页 > 解决方案 > Excel VBA:如何避免代码重复 - 类似属性

问题描述

我有Class一堆Properties which looks almost the same.


  If Not gXXXReady Then 'Check global boolean variable gXXXReady
    call Object.SubProcedureYYY()
  End If
  set XXX = gXXX ' Use global variable as property value
End Property

这些之间的区别PropertiesXXX和“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

WhereGetVarByNameCallProcedureByName(显然)是虚构的功能。Object我的所有属性都相同,因此不必将其传递给UniversalGetFunc.

甚至可以使用(Office VBA?)

谢谢!

PS:该

标签: excelvbafunction

解决方案


推荐阅读