#const和const有什么区别?

时间:2015-07-23 04:56:50

标签: vba

This class, which runs just fine包含#Const UseScriptingDictionaryIfAvailable = True之类的行。我通常使用Const UseScriptingDictionaryIfAvailable As Boolean = True

我注意到您无法使用#const明确声明类型。虽然As Boolean在后​​者中是可选的,但在前者中是禁止的。这是唯一的区别吗?有内部差异吗?

2 个答案:

答案 0 :(得分:4)

#是用于条件编译。如果要有条件地编译某段代码,可以使用#。例如:

#Const MyEnv = "Testing"

Sub TestMacro()

 #If MyEnv = "Testing" Then
   ' do something here
   Debug.Print "Logging for testing"
   Dim X as String
   X = "..."
 #Else
   Dim Y as Int
   Y = 100
 #End If

End Sub

https://usefulgyaan.wordpress.com/2013/06/26/vba-trick-of-the-week-conditional-compiling/链接提供了条件编译的良好描述。

http://www.utteraccess.com/wiki/index.php/Conditional_Compilation也提供了一些好的输入。

答案 1 :(得分:0)

Const是您的日常生活常规"不断声明。

#Const不同,它允许您专门定义常量以用于#If等编译器指令。

A"正常"常量不可用于编译器用于条件编译:

Const DEBUG As Boolean = True

然而,这会:

#Const DEBUG = True