CJ *_*J K 4 excel vba excel-2010
我想在编译时有条件地设置 const 变量的值。我以为我可以使用 vba 编译器指令 #If #Else 等来实现这一点,如下所示,但到目前为止还没有成功:
#If Environ("username") = "myusername" Then
Public Const ErrorHandling As Boolean = False
#Else
Public Const ErrorHandling As Boolean = True
#End If
Run Code Online (Sandbox Code Playgroud)
当我运行此代码时,我收到一个错误,指出 Environ 变量未定义。
这样的事情甚至可能吗?或者我是否只需要将我的“ErrorHandling”变量设为公共(而不是 Const),并在我的代码初始化时设置它?
提前致谢,
cjk
您只能在条件 if 语句中使用常量。您可以在此处解释的 VBAProject 属性中或在您的代码中设置它。
Sub TestIt()
#Const Errorhandling = False
#If Errorhandling Then
Debug.Print "Error on"
#Else
Debug.Print "Error off"
#End If
End Sub
Run Code Online (Sandbox Code Playgroud)
更新:正如 Comintern 正确指出的那样,我的 statememt only 常量并不完全正确,请参阅语言规范的第 5.6.16.2 节