我正在使用VBA宏在excel中学习。我正在尝试创建一个类型为MessageID。此类型具有四个变量,例如Message_ID,Message_Name,Message_Byte和Message_Bit等字符串。一条消息只有一个Message_ID。一个Message_ID具有多个Message_Name,每个名称都有一个字节。换句话说,我需要一个具有一些变量的类型。因此,我正在尝试使上面的代码起作用。但是这些变量需要保留一些变量。但是,当然,它不起作用。
我该如何解决?谢谢。
Public Type Message
Message_ID As String
Public Type Message_CH
Message_Name As String
Message_Byte As String
Message_Bit As String
End Type
End Type
答案 0 :(得分:0)
您需要取消嵌套,然后将子类型用作超级类型的成员:
Public Type SubMessage
Message_Name As String
Message_Byte As String
Message_Bit As String
End Type
Public Type Message
Message_ID As String
Message_CH As SubMessage
End Type
然后您将像这样从超级类型访问子类型:
Sub Foo()
Dim x As Message
Debug.Print x.Message_CH.Message_Name
End Sub
不过,我怀疑编写一个类并改为使用它会更好地为您服务。