Freigeben über


#If...Then...#Else-Direktive

Kompiliert ausgewählte Blöcke mit Visual Basic-Code bedingt.

Syntax

#IfAusdruckThen
statements
[ #ElseIfexpression-nThen
[ elseifstatements ]]
[ #Else
[ elsestatements ]]
#End If

Die Syntax der #If...Then...#Else-Direktive enthält die folgenden Bestandteile:

Teil Beschreibung
expression Erforderlich. Ein beliebiger Ausdruck, der ausschließlich aus einer oder mehreren bedingten Compilerkonstanten oder aus einem oder mehreren Literalen und Operatoren besteht und der als True oder False ausgewertet wird.
statements Erforderlich. Visual Basic-Programmzeilen oder Compilerdirektiven, die ausgewertet werden, wenn der zugehörige Ausdruck True ist.
expression-n Optional. Ein beliebiger Ausdruck, der ausschließlich aus einer oder mehreren bedingten Compilerkonstanten oder aus einem oder mehreren Literalen und Operatoren besteht und der als True oder False ausgewertet wird.
elseifstatements Optional. Eine oder mehrere Programmzeilen oder Compilerdirektiven, die ausgewertet werden, wenn der Ausdruck-nTrue ist.
elsestatements Optional. Eine oder mehrere Programmzeilen oder Compilerdirektiven, die ausgewertet werden, wenn kein vorheriger Ausdruck oder Ausdruck-nTrue ist.

Hinweise

Das Verhalten der #If...Then...#Else-Direktive ist identisch mit der If...Then...Else-Anweisung, mit der Ausnahme, dass es kein einzeiliges Formular der #If-, #Else-, #ElseIf- und #End If-Direktiven gibt, das heißt, es kann kein anderer Code in derselben Zeile wie eine der Direktiven angezeigt werden.

Die bedingte Kompilierung wird in der Regel verwendet, um dasselbe Programm für unterschiedliche Plattformen zu kompilieren. Es wird auch verwendet, um zu verhindern, dass Debugcode in einer ausführbaren Datei angezeigt wird. Code, der bei der bedingten Kompilierung ausgeschlossen wird, wird in der finalen ausführbaren Datei vollständig weggelassen und wirkt sich daher nicht auf die Größe oder Leistung aus.

Unabhängig vom Ergebnis der Auswertungen werden alle Ausdrücke ausgewertet. Daher müssen alle in Ausdrücken verwendeten Konstanten definiert werden – nicht definierte Konstanten werden als leer ausgewertet.

Hinweis

Die Option Compare-Anweisung wirkt sich nicht auf Ausdrücke in #If- und #ElseIf-Anweisungen aus. Ausdrücke in einer Richtlinie für die bedingte Kompilierung werden immer als Option Compare Text ausgewertet.

Beispiel

Dieses Beispiel verweist auf bedingte Compilerkonstanten in einem #If... Then... #Else-Konstrukt, um zu bestimmen, ob bestimmte Anweisungen kompiliert werden sollen.

' 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

Siehe auch

Support und Feedback

Haben Sie Fragen oder Feedback zu Office VBA oder zu dieser Dokumentation? Unter Office VBA-Support und Feedback finden Sie Hilfestellung zu den Möglichkeiten, wie Sie Support erhalten und Feedback abgeben können.