VBA 常数(Const)
示例
如果您的值在应用程序中从未改变,则可以定义一个命名常量,并使用它代替文字值。
您只能在模块或过程级别使用Const。这意味着变量的声明上下文必须是类,结构,模块,过程或块,并且不能是源文件,名称空间或接口。
Public Const GLOBAL_CONSTANT As String = "Project Version #1.000.000.001"
Private Const MODULE_CONSTANT As String = "Something relevant to this Module"
Public Sub ExampleDeclaration()
Const SOME_CONSTANT As String = "Hello World"
Const PI As Double = 3.141592653
End Sub虽然指定常量类型被认为是一种很好的做法,但并非严格要求。不指定类型仍将导致正确的类型:
Public Const GLOBAL_CONSTANT = "Project Version #1.000.000.001" 'Still a string
Public Sub ExampleDeclaration()
Const SOME_CONSTANT = "Hello World" 'Still a string
Const DERIVED_CONSTANT = SOME_CONSTANT 'DERIVED_CONSTANT is also a string
Const VAR_CONSTANT As Variant = SOME_CONSTANT 'VAR_CONSTANT is Variant/String
Const PI = 3.141592653 'Still a double
Const DERIVED_PI = PI 'DERIVED_PI is also a double
Const VAR_PI As Variant = PI 'VAR_PI is Variant/Double
End Sub请注意,这是特定于常量的,与不指定类型会导致Variant类型的变量形成对比。
虽然可以将常量显式声明为String,但是无法使用固定宽度的字符串语法将常量声明为字符串
'This is a valid 5 character string constant Const FOO As String = "ABCDE" 'This is not valid syntax for a 5 character string constant Const FOO As String * 5 = "ABCDE"