gpt4 book ai didi

vba - VBA 中用户定义的常量类型

转载 作者:行者123 更新时间:2023-12-01 13:50:47 29 4
gpt4 key购买 nike

我想在 VBA 中定义一个自定义数据类型,并用它来创建一些用户定义的常量。例如:

Public Type Person
Name as String
Age as Integer
End Type

Public Sub CreatePerson
Dim singer as Person
singer.Name = "John"
singer.Age = 37
End Sub

我想让 singer 保持不变,这将在同一模块的其他子例程/函数中可见。可能吗?如果不是,如何最好地存储相互关联的常量值(如上面的示例,其中 Name 连接到 Age)?

最佳答案

这是我的做法。

模块中的代码:

Option Explicit

Public Type Person
Name As String
Age As Integer
End Type


Private cvsinger As Person

Public Function singer() As Person

Static ConstantHasBeenSet As Boolean

If Not ConstantHasBeenSet Then
cvsinger.Name = "John"
cvsinger.Age = 37
End If

singer = cvsinger

End Function

Public Sub CreatePerson()

Debug.Print singer.Name, singer.Age

End Sub

这是一个相当微不足道的案例,但是当查找默认值的代码需要更长的时间来处理时,使用 ConstantHasBeenSet 就变得值得了

(请注意,我也会使用类似的技术来为类中的属性设置默认值)

关于vba - VBA 中用户定义的常量类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31842372/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com