Visual Basic for Applications Grundlagen: Ausdrücke und Operatoren

Bevor wir den Bereich der Variablen erläutern, müssen wir uns mit einigen mathematischen Zusammenhängen befassen, denn diese stellen das Rüstzeug im Umgang mit Variablen dar. Wir werden im folgenden Abschnitt die numerischen und logischen Ausdrücke, sowie deren Operatoren kennenlernen.

Numerische Ausdrücke und Operatoren

In den vorangegangenen Abschnitten haben Sie hauptsächlich mit Befehlen gearbeitet, die die Bedienung von Word 2000 nachbildeten oder dem Anwender Informationen in einer Messagebox darstellten. Hierbei handelt es sich um die klassische Programmierung von Makros. Im folgenden wollen wir numerische Ausdrücke und mathematische, sowie logische Operatoren kennenlernen.

Numerische Ausdrücke repräsentieren Werte – dies können Zahlen oder Berechnungen sein – die zu einem Ergebnis führen. Die Addition zweier Zahlen ist ein Beispiel für einen numerischen Ausdruck, dazu geben Sie normalerweise einen Ausdruck in der folgenden Form an:

4 + 7

Neben den numerischen Ausdrücken gibt es noch andere. Dazu zählen zum Beispiel Textausdrücke. Sie repräsentieren Zeichenketten, diese werden auch häufig als Strings bezeichnet. Den Umgang mit Ausdrücken können Sie einfach erlernen, indem Sie zum Beispiel im Fenster DIREKTBEREICH die folgenden Anweisungen eingeben:

Print 4 + 7

Nachdem Sie die Ü-Taste betätigt haben erscheint unterhalb der Anweisung das Ergebnis:

11

Sie können neben ganzen Zahlen natürlich auch Dezimalzahlen verwenden. Als Beispiel sei hier die Addition zweier reeller Zahlen angeführt. Dabei ist zu beachten, daß nicht das Komma sondern der Punkt als Dezimaltrennzeichen verwendet wird.

Print 5.2 + 8.6

Dezimalzahlen zwischen -1 und 1 können auch ohne die führende Null dargestellt werden.

Print .5 + .7

Bei großen Zahlenwerten empfiehlt sich die Darstellung in Exponentialform. Dazu geben Sie beispielsweise 1E5 ein. Visual Basic for Applications verwendet – wie auch die meisten Taschenrechner – erst bei sehr hohen Zahlenwerten automatisch die exponentielle Darstellung.

Print 1E5

Neben dem dekadischen Zahlensystem gibt es noch weitere. Die bekanntesten sind das duale, hexadezimale oder oktale Zahlensystem. Visual Basic for Applications kann die Zahlen auch im hexadezimalen oder oktalen Zahlensystem darstellen. Dazu stellen Sie dem jeweiligen Zahlenwert ein &H für das hexadezimale und &O für das oktale Zahlensystem voran.

&H7F3E     ‘Hexzahl

&O415            ‘Oktalzahl

Abb6.TIF

Verschiedene Arten von Ausdrücken und ihre Ergebnisse, dargestellt im Direktfenster.

Numerische Ausdrücke werden über arithmetische Operatoren miteinander verknüpft. Dazu stehen in Visual Basic for Applications die in Programmiersprachen üblichen Operatoren zur Verfügung. Die folgende Tabelle gibt die unter Visual Basic for Applications unterstützten Operatoren wieder:

Operator     Bezeichnung

()                   Klammert einen Teilausdruck

^                    Potenzierung

*                    Multiplikation

/                    Division

                    Ganzahlige Division (Division ohne Rest)

Mod               Modulo (Rest einer Division)

+                   Addition

–                                        Subtraktion

Die in der Tabelle aufgelisteten mathematischen Operatoren sind nach ihrer Priorität geordnet. Dabei hat ein Klammerausdruck die höchste Priorität. Die folgenden Beispiele werden diesen Sachverhalt noch deutlicher machen.

Ausdruck            Ergebnis

4 + 5 * 3                  19

-(4 + 5) * 3               -27

2^2                          4

2^2 + 5                    9

25 8                       3

25 Mod 8                 1

Logische Ausdrücke und Operatoren

Neben den numerischen Ausdrücken und Operatoren gibt es auch logische Ausdrücke und Operatoren. Logische Ausdrücke können als Ergebnis nur True (wahr) oder False (falsch) sein. Die Schlüsselwörter in Visual Basic for Applications lauten deshalb auch True und False. Die folgenden logischen Operatoren können zur Verknüpfung logischer Ausdrücke verwendet werden:

Operator     Bezeichnung

()                   Klammert einen Teilausdruck

Not                Negation

And                Und-Verknüpfung

Or                  Oder-Verknüpfung

Xor                 Exklusiv-Oder-Verknüpfung

Eqv                Äquivalent-Verknüpfung

Imp                Impliziert-Verknüpfung

Die Operatoren sind auch in dieser Tabelle wieder nach Prioritäten geordnet aufgelistet. Die folgenden Beispiele sollen Ihnen einen Eindruck vermitteln:

Ausdruck            Ergebnis

True And True           True

True And False         False

True Or False           True

Not False                 True

Not True                   False

True Xor True            False

True Xor False          True

5 Eqv 4                    False

5 Eqv 5                    True

Vergleichsoperatoren

Vergleichsoperatoren stellen eine Beziehung zwischen Ausdrücken her. Das Ergebnis einer Vergleichsoperation ist immer ein logischer Ausdruck, also entweder True (wahr) oder False (falsch). Vergleichsoperationen haben in der Programmierung einen besonderen Stellenwert, da sie für Entscheidungen herangezogen werden. Visual Basic for Applications kennt die folgendenVergleichsoperatoren:

Vergleichsoperator        Bezeichnung

=                                           Gleichheit

<>                                         Ungleich

<                                           Kleiner

>                                           Größer

<=                                         Kleiner oder Gleich

>=                                         Größer oder Gleich

Alle Vergleichsoperatoren haben die gleiche Priorität. Die Auswertung der Ausdrücke erfolgt von links nach rechts. Sie können aber auch hier durch Klammern eine bestimmte Reihenfolge erzwingen. Die folgende Tabelle gibt wieder einige Beispiele für die Anwendung von Vergleichsoperatoren.

Ausdruck            Ergebnis

4 = 8                       False

5 > 2                       True

15 > 8 And 7 < 9      True

10 <> 20                  True

„N„ < „J„                   False

i <= 10                     True, falls i kleiner 11 ist, ansonsten False

Zeichenfolgen und deren Operatoren

Visual Basic for Applications unterstützt nicht nur numerische und logische Ausdrücke und Operatoren, sondern auch Operationen die sich auf Zeichenfolgen beziehen. Zeichenfolgen werden im englischen Sprachraum als Strings bezeichnet, deshalb wird Ihnen dieser Begriff auch häufig begegnen. Zeichenfolgen werden bei der Programmierung grundsätzlich in Anführungszeichen angegeben. Die Zeichenfolge darf dabei alle Zeichen enthalten. Falls Sie auch einmal Anführungszeichen in Ihrem Text verwenden müssen, dann werden diese durch zwei aufeinanderfolgende Anführungszeichen dargestellt, wie dies im folgenden Beispiel deutlich wird.

Print „Das ist eine Zeichenfolge.„

Print „Das Wort „„Zeichenfolge„„ in Anführungszeichen.„

Zeichenfolgen können über den &-Operator miteinander verknüpft werden. Das heißt, Zeichenfolgen werden mit Hilfe dieses Operators verlängert, wie dies in der folgenden Tabelle dargestellt ist.

Ausdruck                        Ergebnis

„Hello„                                 Hello

„Hello„ & „World„                   HelloWorld

„Hello„ & „ „  & „World„          Hello World

Manchmal muß eine Zeichenfolge über mehrere Zeilen verteilt werden, dazu dient der Parameter vbCrLf. Dieser veranlaßt einen Zeilenumbruch an der Stelle an der er eingefügt wurde. Besonders bei Hinweis-Dialogfeldern wird man häufig zu diesem Parameter greifen müssen, deshalb hier ein Beispiel dazu.

Sub ZweizeiligMeldungAusgeben()

‚ Gibt eine zweizeilige Meldung in einer Message Box aus.

Beep

MsgBox „Dieser Text wird in der Message“ & vbCrLf & „Box zweizeilig dargestellt.“, vbInformation, „VBA-Beispiel“

End Sub

Message Box mit zweizeiligem Text.

Wird das obige Beispiel ausgeführt erscheint auf dem Bildschirm das folgende kleine Dialogfeld.

Das Dialogfeld mit zweizeiligem Text.

Bei Zeichenfolgen können die gleichen Vergleichsoperatoren angewendet werden wie bei den logischen Operatoren. Dabei wird bei den Operatoren <, >, >= und <= die Reihenfolge der Buchstaben im Alphabet berücksichtigt. Beispielsweise ist das Ergebnis des Vergleichs

Print „L“ > „K“

True, da der Buchstabe L im Alphabet dem Buchstaben K folgt. Der Gleichheitsoperator vergleicht zwei Zeichenfolgen auf Gleichheit unter Berücksichtigung der Groß- und Kleinschreibung.

Print „Hallo“ = „Hallo“

Das Ergebnis ist True, da beide Zeichenfolgen exakt identisch sind.

Nach oben scrollen