Das Word Makro kommt vom griechischen “makros - groß”. In der Wikipedia steht, das “macro” die Abkürzung für “macroinstruction - Großbefehl” ist. Der Brockhaus für Computer und Informationstechnologie schreibt: Makros sind “ein »Überprogramm« (oder »Großprogramm«, daher der Name)”.
Eine klare Abgrenzung zwischen “Makro” und “Programmierung” ist nicht einfach. Programmierungen werden in Programmiersprachen erfasst, die nicht nur für ein einziges Anwendungsprogramm gelten - solche Programmiersprachen sind zum Beispiel Pascal, BASIC oder .NET (sprich: dot-net). Makros dagegen werden in einer Anwendung erfasst und gelten dann für diese Anwendung.
In Microsoft Office werden Makros in der Sprache VBA (Visual Basic for Applications) erfasst. Ein Makro kann vom Anwender tatsächlich geschrieben werden; meistens wird es aber mit dem Makro-Recorder aufgezeichnet. Sie haben in Word und Excel einen Makro-Recorder, in PowerPoint fehlt er ab der Version 2007.
Den Makrorekorder erreichen Sie in Excel und Word so:
- Aktivieren Sie über “Datei | Optionen | Menüband anpassen” die “Entwicklertools”.
- Klicken Sie im Register “Entwicklertools” auf “Makro aufzchn.”
- Vergeben Sie einen Namen und bestätigen Sie mit OK.
Achtung! Der Name darf keine Leerschritte beinhalten und muss mit einem Buchstaben beginnen. - Führen Sie alle Aktionen durch.
- Beenden Sie das Makro mit “Entwicklertools | Aufzeichnung beenden”.
Aufgezeichnete Makros bergen Gefahren: das Makro wiederholt stur immer genau die aufgezeichneten Befehle, vollzieht die gleichen Sprünge. Ändert sich die Grundstruktur der Datei, erzielen Sie ganz falsche Ergebnisse.
Unten sehen Sie ein Makro, das ich in Word aufgezeichnet habe. Ich bin einen Absatz nach unten gesprungen (STRG+Pfeiltaste nach unten), habe den dort erreichten Absatz markiert (STRG+SHIFT+Pfeiltaste nach unten) und dann Fett und Kursiv eingeschaltet.
Herausgekommen ist dieses Makro:
Sub Absatz_formatieren()
' Absatz_formatieren Makro
'
Selection.MoveDown Unit:=wdParagraph, Count:=1
Selection.MoveDown Unit:=wdParagraph, Count:=1, Extend:=wdExtend
Selection.Font.Bold = wdToggle
Selection.Font.Italic = wdToggle
End Sub
Es gibt zwei konkrete Probleme bei diesem Verfahren:
- Ich markiere nicht einen bestimmten Absatz, sondern von der aktuellen Cursorposition aus gesehen einen Absatz nach unten. Beim nächsten Aufruf muss ich also darauf achten, dass ich an der richtigen Position stehe!
- Ich schalte nicht Fett und Kursiv “ein”, sondern “um”! Der Befehl “wdToggle” bedeutet, dass ich in den jeweils anderen Modus umschalte: ein normaler Text wird fett und kursiv; ein Text, der bereits fett und kursiv ist, wird zum normalen Text. Ich schalte “ein”, wenn aktuell “aus” gilt und ich schalte “aus”, wenn aktuell “ein” gilt …
Sub Absatz_formatieren()
' Absatz_formatieren Makro
'
Selection.MoveDown Unit:=wdParagraph, Count:=1
Selection.MoveDown Unit:=wdParagraph, Count:=1, Extend:=wdExtend
With Selection.Font
.Bold = True
.Italic = True
End With
End Sub
Keine Kommentare:
Kommentar veröffentlichen