我想在编译时有条件地设置const变量的值。我以为我可以使用下面的vba编译器指令#If #Else等来实现这一点,但到目前为止没有成功:
#If Environ("username") = "myusername" Then
Public Const ErrorHandling As Boolean = False
#Else
Public Const ErrorHandling As Boolean = True
#End If当我运行这段代码时,im会得到Environ变量未定义的错误。
像这样的事有可能吗?或者,我是否只需要将“ErrorHandling”变量设置为公共变量(而不是Const),并在代码初始化时设置它?
提前谢谢你,
cjk
发布于 2018-11-20 20:54:52
只能在条件if语句中使用常量。要么在VBAProject属性中设置它,解释这里,要么在代码中设置。
Sub TestIt()
#Const Errorhandling = False
#If Errorhandling Then
Debug.Print "Error on"
#Else
Debug.Print "Error off"
#End If
End Sub更新:正如共产国际正确指出的那样,我的状态仅常量不是完全正确的,请参阅语言规范第5.6.16.2节
https://stackoverflow.com/questions/53401097
复制相似问题