Diretiva #If...Then...#Else

Condicionalmente compila blocos selecionados do código do Visual Basic.

Sintaxe

#IfexpressãoEm seguida
instruções
[ #ElseIfexpression-nThen
[ instruçõesouse ]]
[ #Ou
[ instruçõesou ]]
#E se

A sintaxe da diretiva #Se...Então...Ou tem estas partes:

Parte Descrição
expressão Obrigatório. Qualquer expressão que consista exclusivamente de uma ou mais constantes de compilação condicional, literal e operadores, que avalia comoVerdadeiro ou Falso.
instruções Obrigatório. Linhas do programa do Visual Basic ou diretivas do compilador avaliadas se a expressão associada forVerdadeira.
expressão-n Opcional. Qualquer expressão que consista exclusivamente de uma ou mais constantes de compilação condicional, literal e operadores, que avalia como Verdadeiro ou Falso.
instruçõesouse Opcional. Uma ou mais diretivas de programa ou compilador que são avaliadas se expression-n for True.
instruçõeselse Opcional. Uma ou mais diretivas de programa ou compilador que são avaliadas se nenhuma expressão ou expressão anterior ou expression-n for Verdadeiro.

Comentários

O comportamento da diretiva #Se... Então,... #Oué igual a da instrução Se...Então...Ouexceto quando não houver forma de linha única de diretivas#Se, #Então, #Ouse, e #E se; ou seja, nenhum código pode aparecer na mesma linha como qualquer uma das diretivas.

A compilação condicional normalmente é usada para compilar o mesmo programa em diferentes plataformas. Também é utilizado para impedir que o código de depuração seja apresentado num ficheiro executável. O código excluído durante a compilação condicional é completamente omitido do arquivo executável final, portanto, não tem efeito de tamanho ou de desempenho.

Independentemente do resultado de qualquer avaliação, todas as expressões são avaliadas. Portanto, todos as constantes usadas em expressões devem estar definidas—qualquer constante indefinida retornará Vazia.

Observação

As instruções deOpção Comparar instrução não afetam as expressões nas instruções #Se e #Ouse. Expressões em uma diretiva de compilação condicional sempre são avaliadas com Opção Comparar Texto.

Exemplo

Este exemplo refere-se a essas constantes de compilação condicional em um #Se...Então...#ou construídas para determinar quando compilar determinadas instruções.

' 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

Confira também

Suporte e comentários

Tem dúvidas ou quer enviar comentários sobre o VBA para Office ou sobre esta documentação? Confira Suporte e comentários sobre o VBA para Office a fim de obter orientação sobre as maneiras pelas quais você pode receber suporte e fornecer comentários.