This class, which runs just fine包含#Const UseScriptingDictionaryIfAvailable = True
之类的行。我通常使用Const UseScriptingDictionaryIfAvailable As Boolean = True
。
我注意到您无法使用#const明确声明类型。虽然As Boolean
在后者中是可选的,但在前者中是禁止的。这是唯一的区别吗?有内部差异吗?
答案 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