Routine-Kram in Microsoft Office automatisieren

Welche Sprache muss ich lernen?

∅ 5 / 1 Bewertungen

Welche Sprache muss ich lernen?

Auf dieser Seite

Alle Microsoft Office-Programme bringen von Haus aus eine eingebaute Programmiersprache namens VBA mit. Das ist die Abkürzung für Visual Basic for Applications, also frei übersetzt ein grafisch orientiertes BASIC für Anwendungen.

BASIC

Der Name der Programmiersprache BASIC aus den 1960er Jahren ist übrigens eine Abkürzung für Beginner's All-purpose Symbolic Instruction Set. Das bedeutet übersetzt etwa Sammlung von symbolischen Anweisungen für Anfänger zu jedem Zweck.

Mit dieser Sprache konnten Einsteiger sehr einfach das Programmieren lernen. Das heutige Visual Basic enthält zwar noch einige der damaligen Elemente, ist aber eine hochentwickelte Sprache mit vielen Konzepten aus anderen modernen Programmiersprachen.

Diese Programmiersprache VBA ist grundsätzlich englisch, unabhängig davon, welche Landessprache für die Menüs Ihres Office-Programms oder für Ihr Windows eingestellt ist. Das hat nicht nur den Vorteil der kürzeren Bezeichnungen, sondern vor allem auch der internationalen Austauschbarkeit. Sie müssen sich also keine Sorgen machen, dass ein Kollege in der Moskauer Niederlassung Ihr tolles Makro nicht ausführen könnte.

VBA ist nicht VB

VBA enthält deshalb den Zusatz "for Applications", weil es an ein jeweils laufendes Office-Programm gekoppelt ist. Im Gegensatz zu der "echten" Programmiersprache namens VB (also nur Visual Basic), welche einzeln ausführbare Dateien mit der Endung *.exe erzeugt, läuft VBA nur im zugehörigen "Mutterprogramm", also Word, Excel etc.

In der Sprache selbst finden Sie oft zusammengesetzte Begriffe, die etwas ganz genau beschreiben:

ActiveDocument.Paragraphs.First.Range.Text

Das bezeichnet im gerade geöffneten Word-Dokument (ActiveDocument) die Liste aller Absätze (Paragraphs), davon den ersten (First), genauer gesagt dessen Bereich (Range) und davon den Text (Text).

Praktischerweise müssen Sie diese ganzen Bezeichnungen nicht im Kopf haben, denn die Programmierumgebung wird jeweils nach dem Punkt eine Liste der Befehle anbieten. Dabei werden nur noch diejenigen angeboten, die für den jeweiligen Begriff vor dem Punkt überhaupt sinnvoll sind:

67209_editor01-png

Die Programmierumgebung bietet direkt nur sinnvolle Begriffe an.