类范围内的常量UDT

是否有可能在模块级定义一个用户定义的types常量?

Type MyType name as String description as String End Type ' Something like this Private Const OneType as MyType = "Name" "Description" 

不。Const不适用于用户定义的types。 最接近你可以来创build一个只有财产得到的类。

 Public Property Get Name() As String Name = "Name" End Property Public Property Get Description() As String Description = "Description" End Property 

如果你想让这个类的多个实例具有不同的值,但是仍然希望值是不变的,那么添加一个只能使用一次的初始化例程。

 Private sName As String Private sDescription As String Private Sub Class_Initialize() sName = "" End Sub Public Sub Initialize(Name As String, Description As String) If Len(sName) = 0 Then sName = Name sDescription = Description Else MsgBox "This instance of MyClass is already initialized!" End If End Sub Public Property Get Name() As String Name = sName End Property Public Property Get Description() As String Description = sDescription End Property 

然后声明你的类的一个实例。

 Dim cMyClass1 As New MyClass, cMyClass2 as New MyClass cMyClass1.Initialize("Name","Description") cMyClass2.Initialize("DiffName","OtherDescription")