嵌套VB(VBA)枚举 [英] Nested VB (VBA) Enumeration

查看:163
本文介绍了嵌套VB(VBA)枚举的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

好吧,我想要实现嵌套枚举的效果,以方便分组一些常量字符串。类似伪代码如下:

 枚举gKS 
Colby =Hello
Hays =World
end Enum

Enum gMA
Dodge =Seven
Muscatine =Ports
end Enum

枚举gCountry
north as gMA
south as gKS
end Enum

public USA as gCountry

因此,下面的代码应输出消息:

  sub dol()
msgbox USA.north.Dodge
end sub


$ b b

我不想使用类型或类,因为不需要初始化,因为所有的值都是已知的(我说的常数)。



p>

thx。

解决方案

THX,



所以。我决定使用类型解决这个问题:

 公共类型fCAOCC 
itRGI As String
。 ..
结束类型
公共类型fCAOBF
itRGI As String
ibEnviar As String
...
结束类型
公共类型gTELAS
CAOBF as fCAOBF
CAOCC as fCAOCC
...
结束类型

公共CSI作为gTELAS

子iniGLOBALS
CSI.CAOBF.itRGI =DIVNRRGILIG
CSI.CAOBF.ibEnviar =DUMMYNAME1
CSI.CAOCC.itRGI =Hello
...
End Sub

并准备好以后使用代码...



cya


Ok guys, well i'd like to achieve an effect of nested enumeration for easy grouping some constant strings. Something like the pseudo code bellow:

Enum gKS
    Colby = "Hello"
    Hays = "World"
end Enum

Enum gMA
    Dodge = "Seven"
    Muscatine = "Ports"
end Enum

Enum gCountry
    north as gMA
    south as gKS
end Enum

Public USA as gCountry

So the code bellow should output a "Seven" message:

sub dol()
    msgbox USA.north.Dodge
end sub

I don't want use types or classes because no initialisation is needed since all values are know (constants as i said).

Any suggestions?

thx.

解决方案

THX,

So. i've decided to solve that issue using types:

    Public Type fCAOCC
        itRGI As String
        ...
    End Type
    Public Type fCAOBF
        itRGI As String
        ibEnviar As String
        ...
    End Type
    Public Type gTELAS
        CAOBF As fCAOBF
        CAOCC As fCAOCC
        ...
    End Type

    Public CSI As gTELAS

    Sub iniGLOBALS()
        CSI.CAOBF.itRGI = "DIVNRRGILIG"
        CSI.CAOBF.ibEnviar = "DUMMYNAME1"
        CSI.CAOCC.itRGI = "Hello"
...
    End Sub

And thats ready for later use on code...

cya

这篇关于嵌套VB(VBA)枚举的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆