Установите Const условно во время компиляции в VBA - PullRequest
0 голосов
/ 20 ноября 2018

Я бы хотел установить значение переменной const условно во время компиляции.Я думал, что смогу добиться этого, используя директивы компилятора vba #If #Else и т. Д., Как показано ниже, но пока что безуспешно:

#If Environ("username") = "myusername" Then
    Public Const ErrorHandling As Boolean = False
#Else
    Public Const ErrorHandling As Boolean = True
#End If

Когда я запускаю этот код, я получаю сообщение об ошибке, что переменная Environundefined.
Возможно ли что-то подобное?Или мне просто нужно сделать мою переменную ErrorHandling общедоступной (не Const) и установить ее при инициализации моего кода?

Заранее спасибо,
cjk

1 Ответ

0 голосов
/ 20 ноября 2018

Вы можете использовать только константы в условном операторе 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 изязыковая спецификация

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...