您可以使用公开声明的字典来保存可用于您的项目的类的实例。您在函数或子函数之外声明变量并将它们声明为 Public 以供其他模块及其子函数/函数使用它们。当应用程序打开时,它们会在调用之间驻留在内存中。
考虑一个名为c_gumball的类:
Public color As String
Public diameterInches As Double
Public Function getSize(unit As String) As Double
Select Case unit
Case "mm"
getSize = diameterInches * 25.4
Case "cm"
getSize = diameterInches * 2.54
Case "yd"
getSize = diameterInches / 36
End Select
End Function
然后是一个名为m_gbmachine的新模块:
Public gumballMachine As Dictionary
Public Sub createGumbalMachine()
gumballMachine = New Dictionary
End Sub
Public Sub addGumball(color As String, sizeInInches As Double, nameKey As String)
Dim gb As c_gumball
Set gb = New c_gumball
gb.color = "green"
gb.diameterInches = 1.2
gumballMachine.Add Key = nameKey, gb
End Sub
Public Sub removeGumball(nameKey As String)
gumballMachine.Remove (nameKey)
End Sub
现在任何模块都可以使用 m_gbmachine.gumballMachine 字典并查看其中的内容。他们可以使用它的功能添加口香糖。
也许在您的用户表单中,您在字典中创建了一个名为“gumball2”的口香糖,然后想要在 gumballMachine 字典中获取“gumball2”的颜色属性,您可以这样做:
Public Sub button_Click()
'add gumball 2 to the machine
m_gbmachine.addGumball "green", 1.2, "gumball2"
End Sub
Public Sub someFormRoutine()
'msgbox the color of gumball 2
MsgBox m_gbmachine.gumballMachine("gumball2").color
End Sub
您可以更深入地将此模块更改为它自己的类,并拥有许多口香糖机实例。