Makro: Chemische Formeln schneller schreiben

Wenn Sie häufig chemische Formeln schreiben müssen, können Sie sich mit dem folgenden Makro viele Mausklicks sparen. Das Makro formatiert nämlich alle Zahlen im zuletzt geschriebenen Wort als tiefgestellt. Um das Makro einzugeben, führen Sie den Befehl »Extras | Makro | Makros« aus. Geben Sie einen Namen wie zum Beispiel »ChemieMakro« ein und klicken Sie anschließend auf die Schaltfläche »Erstellen«. Nun geben Sie im VBA-Editor die folgenden Anweisungen ein. Oder schneller: Kopieren Sie sie von der beiliegenden Heft-CD. Sie finden das Makro unter CHIP-Code CHEMIE

Public Sub ChemieMakro ()

Dim Wortlaenge As Byte

Dim CharPos As Byte

Selection.MoveLeft

Unit:=wdWord,

Extend:=wdExtend

Wortlaenge = Selection.

Characters.Count

For CharPos = 1 To Wortlaenge

If (Asc (Selection.

Characters  (CharPos))

<59)And (Asc (Selection.

Characters (CharPos))>47)

Then Selection.

Characters (CharPos) .

Font.Subscript = True

End If Next CharPo s

Selection.MoveRight

Unit:=wdWord,

Extend:=wdMove

Selection.Font.Subscript

= False

End Sub
Und so funktioniert das Listing: Nach der Variablendefinition setzen die nächsten Befehle den Cursor an den Wortanfang und bestimmen die Wortlänge. Die folgende Schleife testet anhand des ASCII-Codes jedes einzelne Zeichen im Wort, ob es sich um eine Ziffer handelt. In diesem Fall aktiviert das Makro das Format »tiefgestellt«. Schließlich kommt der Cursor wieder an das Wortende und das Format in den Normalzustand. Das Makro können Sie natürlich auch auf eine Tastenkombination legen. Dazu führen Sie den Befehl »Extras | Anpassen« aus und klicken auf die Schaltfläche »Tastatur«. Wählen Sie links die Kategorie »Makros« und rechts das zuvor verfasste »ChemieMakro«. Setzen Sie nun den Cursor in das Eingabefeld »Neuen Shortcut drücken« und wählen Sie die gewünschte Tastenkombination. Dann klicken Sie auf »Zuordnen« und beenden den Dialog mit »Schließen«. Nun können Sie eine Zeichenfolge durch Drücken der Tastenkombination in eine chemische Formel verwandeln.