Directiva #If…Then…#Else
Compila condicionalmente bloques seleccionados de código de Visual Basic.
#IfexpresiónThen
statements
[ #ElseIfexpression-nThen
[ elseifstatements ]]
[ #Else
[ elsestatements ]]
#End If
La sintaxis de la directiva #If...Then...#Else contiene los elementos siguientes:
Parte | Descripción |
---|---|
expression | Obligatorio. Cualquier expresión, formada exclusivamente por una o más constantes de compilación condicional, literales y operadores, que se evalúan como True o False. |
instrucciones | Obligatorio. Líneas de programa de Visual Basic o directivas de compilación que se evalúan si la expresión asociada es True. |
expresión-n | Opcional. Cualquier expresión formada exclusivamente por una o más constantes de compilación condicional, literales y operadores, que se evalúan como True o False. |
elseifstatements | Opcional. Una o varias directivas del compilador o líneas de programa que se evalúan si expression-n es True. |
elsestatements | Opcional. Una o varias directivas del compilador o líneas de programa que se evalúan si ninguna incidencia anterior de expression o expression-n es True. |
El comportamiento de la directiva #If... Then... #Else es la misma que la instrucción If...Then...Else, excepto que no hay ninguna forma de línea única de las directivas #If, #Else, #ElseIf, y # End If; es decir, ningún otro código puede aparecer en la misma línea que cualquiera de las directivas.
La compilación condicional se usa normalmente para compilar el mismo programa para distintas plataformas. También se usa para evitar que el código de depuración aparezca en un archivo ejecutable. El código que se excluye durante la compilación condicional se omite por completo del archivo ejecutable final y no repercute en el tamaño ni en el rendimiento.
Independientemente del resultado de la evaluación, se evalúan todas las expresiones. Por ello, se deben definir todas las constantes utilizadas en expresiones. Cualquier constante indefinida se evalúa como Empty.
Nota
La instrucción Option Compare no afecta a las expresiones de las instrucciones #If y #ElseIf. Expresiones en una directiva de compilación condicional siempre se evalúan con Option Compare Text.
Este ejemplo hace referencia a las constantes de compilación condicional en una construcción #If... Then... #Else para determinar si compilar ciertas instrucciones.
' 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
¿Tiene preguntas o comentarios sobre VBA para Office o esta documentación? Vea Soporte técnico y comentarios sobre VBA para Office para obtener ayuda sobre las formas en las que puede recibir soporte técnico y enviar comentarios.