#If … Then … #Else директива
Оператор If условной компиляции или директива If имеет синтаксис, похожий на обычный оператор If:
#If expression Then statements [#ElseIf expression-n Then [elseifstatements]] [#Else [elsestatements]] #End If
Особенность состоит в том, что выражения состоят из констант периода компиляции и литералов, объединенных знаками операций. Все выражения вычисляются, поэтому все константы периода компиляции должны быть определены. Если выражение ложно, то соответствующие операторы не компилируются и не увеличивают тем самым размер программы. Основное назначение директивы условной компиляции в том, чтобы скомпилировать одну и ту же программу для различных платформ, для различных версий, для того, чтобы убрать отладочный код из заключительной версии программы.
Приведем простой пример использования средств условной компиляции:
'Константа conDebug включает или выключает отладочную печать #Const conDebug = True '#Const conDebug = False Public Sub TestDebug() #If conDebug Then Debug.Print "Привет!" #Else MsgBox ("Привет!") #End If End Sub