Leer en inglés

Compartir a través de


Directiva #If…Then…#Else

Compila condicionalmente bloques seleccionados de código de Visual Basic.

Sintaxis

#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.

Comentarios

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.

Ejemplo

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

Vea también

Soporte técnico y comentarios

¿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.