Директива #If...Then...#Else
Выполняет условную компиляцию выбранных блоков кода Visual Basic.
Синтаксис
выражение #IfThen
Операторы
[ #ElseIfexpression-nThen
[ elseifstatements ]]
[ #Else
[ elsestatements ]]
#End If
Синтаксис директивы #If...Then...#Else включает следующие части:
Часть | Описание |
---|---|
выражение | Обязательная часть. Любое выражение, состоящее исключительно из одной или нескольких условных констант компилятора, литералов и операторов, оцениваемых как значение True или False. |
Операторы | Обязательная часть. Строки программы Visual Basic или директивы компилятора, оцениваемые, если значение соответствующего выражения равно True. |
выражение-n | Необязательный параметр. Любое выражение, состоящее исключительно из одной или нескольких условных констант компилятора, литералов и операторов, оцениваемых как значение True или False. |
elseifstatements | Необязательный параметр. Одна или несколько строк программ или директив компилятора, оцениваемых, если значение expression-n равно True. |
elsestatements | Необязательный параметр. Одна или несколько строк программ или директив компилятора, оцениваемых, если никакое значение предыдущего элемента expression или expression-n не равно True. |
Замечания
Поведение директивы #If...Then...#Else аналогично заявлению If...Then...Else, за исключением случаев отсутствия однострочной формы директив #If, #Else, #ElseIf и #End If, т. е. никакой другой код не может появиться в той же строке, что и любая из директив.
Условная компиляция обычно используется для компиляции одной и той же программы для разных платформ. Он также используется для предотвращения отображения кода отладки в исполняемом файле. Код, исключаемый при условной компиляции, полностью удаляется из финального исполняемого файла, поэтому он не оказывает влияния на размер и производительность.
Независимо от результата любой оценки все выражения подвергаются оценке. Таким образом, все константы, используемые в выражении, должны быть определены — все неопределенные константы интерпретируется как пустые.
Примечание.
Оператор Option Compare не влияет на выражения операторов #If и #ElseIf. Выражения в директиве условного компилятора всегда вычисляются с помощью Option Compare Text.
Пример
Данный пример ссылается на константы условного компилятора в конструкции #If...Then...#Else конструкции, чтобы определить, следует ли выполнять компиляцию некоторых операторов.
' If Mac evaluates as true, do the statements following the #If.
#If Mac Then
'. Place exclusively Mac statements here.
'.
'.
' Otherwise, if it is a 32-bit Windows program, do this:
#ElseIf Win32 Then
'. Place exclusively 32-bit Windows statements here.
'.
'.
' Otherwise, if it is neither, do this:
#Else
'. Place other platform statements here.
'.
'.
#End If
См. также
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.