excel - 从另一个嵌套类内部访问一个嵌套类
问题描述
我有一个主类,其中有 3 个嵌套类,如下所示:
主类:
Option Explicit
Private m_Login As Object
Private m_Archivo As Object
Private m_Equivalencia As Object
Private Property Get Logins(ByVal Key As String) As Logins
With m_Login
If Not .Exists(Key) Then .Add Key, New Logins
End With
Set Logins = m_Login(Key)
End Property
Private Sub Class_Initialize()
Set m_Login = CreateObject("Scripting.Dictionary")
Set m_Archivo = CreateObject("Scripting.Dictionary")
Set m_Equivalencia = CreateObject("Scripting.Dictionary")
End Sub
Private Sub Class_Terminate()
Set m_Login = Nothing
Set m_Archivo = Nothing
Set m_Equivalencia = Nothing
End Sub
Private Property Get Keys() As Variant
Keys = m_Login.Keys
End Property
Private Property Get Count() As Long
Count = m_Login.Count
End Property
Private Property Get Items() As Variant
Items = m_Archivo.Keys
End Property
Public Property Get Archivos(ByVal Key As String) As Archivos
With m_Archivo
If Not .Exists(Key) Then .Add Key, New Archivos
End With
Set Archivos = m_Archivo(Key)
End Property
Public Property Get Equivalencias(ByVal Key As String) As Equivalencias
With m_Equivalencia
If Not .Exists(Key) Then .Add Key, New Equivalencias
End With
Set Equivalencias = m_Equivalencia(Key)
End Property
如您所见,三个嵌套类是 Logins、Archivos 和 Equivalencias。
现在我正在尝试从 Logins 类中获取存储在 Equivalencias 类中的数据。
例如,从主类执行此操作时,我只需要编写Equivalencias(id).Property
,但我似乎无法从嵌套类 Logins 内部调用它。
我该怎么做?
我需要这样做,因为在 Logins 类中我有这个:
Public Property Get ModificacionCentro() As Boolean
If Not Baja And Not Alta Then
Select Case m_Site
Case "GLORIAS" And m_Centro <> "Barcelona Glorias (AESP) (GRAN VÍA DE LAS CORTS CATALANES 866-872, BARCELONA)"
ModificacionCentro = True
Case "ILUSTRACIÓN" And m_Centro <> "Madrid Ilustración (AESP) (C/SANTIAGO DE COMPOSTELA, 94, MADRID)"
ModificacionCentro = True
Case "TÁNGER" And m_Centro <> "MARRUECOS TANGER SUCURSAL (AESP) (RUE IBN FOURMAT ANGLE CARNOT, TANGER 90000 (MAROC))"
ModificacionCentro = True
Case Else
ModificacionCentro = False
End Select
End If
End Property
现在我正在做硬编码,但如果我可以访问另一个我不需要的类,代码将是:
Public Property Get ModificacionCentro() As Boolean
If Not Baja And Not Alta Then
If Not Equivalencias(m_Site) = m_Centro Then ModificacionCentro = False
End If
End Property
而且我不需要每次网站发生变化时都进行硬编码。
解决方案
推荐阅读
- amazon-web-services - 尝试查询 AWS ElasticSearch 集群时出现 403 Forbidden
- linux - 用于检索用户当周登录次数的 Linux 命令
- r - 如果在 R 的病例对照研究中一组为“0”,如何计算 OR(奇数比)?
- html - 如何使图标缩进
- javascript - 如何获取表格行中点击元素的 id?
- android - 如何在android中的relativelayout中定位LinearLayouts?
- sql - 获取插入到雪花数据仓库中的行的标识
- postgresql - 将“db.backup”导入 phpPgAdmin 时出现问题
- excel - Excel:从尚未指定的范围内返回值
- macos - MacOS Mojave 终端的字体不会改变。它将每个用户安装的字体显示为 Helvetica