Tastaturschoner? Hä? Ja, tatsächlich wurden Makros von pfiffigen und faulen Programmierern erfunden, die es leid waren, immer und immer wieder dieselben Tastenfolgen eintippen zu müssen. Einen „Erfinder“ dieser macroinstructions gibt es nicht, die Geschichte ihrer Entstehung verliert sich im Dunkel der wilden Jahre der Minicomputer-Programmierung, also der legendären Ära der PDP11 & Konsorten. Wir Normalos aber kennen Makros vor allem aus dem Reich der Microsoft-Office-Anwendungen.
Die Idee ist immer dieselbe: Folgen von Anweisungen (aber auch Deklarationen und anderer Programmierelemente) werden zusammengefasst zu einer neuen, übergeordneten Anweisung, dem Makro. Wird dieses aufgerufen, führt es die in ihm zusammengefassten Befehle in der eingegebenen Reihenfolge automatisch aus. Ob tatsächlich das Tastaturmakro die Mutter aller Makros ist, bleibt unklar; es ist jedenfalls die Sorte, die auf der Hand liegt.
Um ein Tastaturmakro herzustellen, braucht es eine Art Tastaturrekorder, also eine App, die in der Lage ist, Tastendrücke aufzuzeichnen. Wie ein Tonbandgerät nimmt es auf, was der:die User:in eintippt, und spielt es auf Wunsch wieder ab. Das war schon zu Zeiten der ersten Personal-Computer einigermaßen trivial, denn der physikalische Tastendruck löst ja einen elektrischen Impuls aus, der vom entsprechenden Bauteil in eine digital verständliche Form übersetzt wird. Um ein Tastaturmakro abzuspielen, muss es nur an der Stelle auf den Bus gegeben, an der sich sonst die Tastatur meldet.
Im Bereich der wirklich wahren Programmierung stellt die Arbeit mit Makros historisch betrachtet die Vorstufe für das strukturierte Kodieren da. Sogenannte Prozeduren in verschiedenen Programmiersprachen sind nichts anderes als Makros: sie lösen beim Abruf eine definierte Folge von Anweisungen und Deklarationen aus. Die Verbindung beider Ansätze stellten – erneut historisch betrachtet – die ersten Makrosprachen dar, die im Umfeld von Programmen wie Excel und Word entstanden; insbesondere natürlich Visual Basic aus dem Hause Microsoft.
Diese Form Makros geht weit über die Möglichkeiten von Tastaturmakros hinaus, weil sie einen Befehlssatz enthält, der auf den Funktionsumfang des zugehörigen Anwendungsprogramms abgestimmt ist. Die Funktion in MS Word, mit der ein Absatz eingerückt wird, wird in der Makrosprache zum Befehl. Auf diese Weise entstand VBA, das Visual Basic for Applications (VBA), eine Makrosprache, die in allen Programmen der Office-Suite anwendbar war (und ist).
Kein anderer Hersteller von Anwendungssoftware hat das Spiel mit Makros so auf die Spitze getrieben wie Microsoft. Natürlich kannten in den frühen Jahren auch Programme wie Lotus 1-2-3, Wordstar etc. Makros, und die Möglichkeit, Tastenfolgen als Makros zu speichern, gab es fast überall. Und wenn eine Textverarbeitung oder Tabellenkalkulation derlei nicht konnte, gab es oft ein externes Progrämmchen zum Aufzeichnen von Tastendrücken.
Verrückterweise bildete Visual Basic, das von VBA abstammt und ein BASIC-Dialekt ist, die Basis für weitere Visual-Sprachen bzw. Entwicklungsumgebungen, die dann aber nichts mehr mit dem Thema Makros zu tun hatten (und haben).
Und heutzutage? Makros spielen bei der ambitionierten Nutzung von Office-Programmen, insbesondere Word und Excel, immer noch eine Rolle. Allerdings hat Microsoft die zugehörigen Funktionen ein bisschen versteckt. In beiden Anwendungen muss über „Optionen > Menüband anpassen“ die Auswahl „Entwicklertools“ explizit aktiviert werden, um Makros aufzeichnen, bearbeiten und testen zu können. Auch der Zugang zur VBA-Programmierung findet sich hier.
Vorbei aber sind die Tage der dicken Bücher zum Office-Makros, die noch immer in vielen Regalen zu finden sind. Unnütz sind die Schinken nicht, denn manchmal finden sich in solch alten Schwarten Ideen für Makros, auf die man selbst nicht gekommen wäre.