Beim Lektorieren nutze ich viele Makros, denn sie beschleunigen den Überarbeitungsprozess.
Was sind Makros?
Word VBA Makros sind kleine Programme, die in der Programmiersprache VBA (Visual Basic for Applications) geschrieben wurden und in Microsoft Word ausgeführt werden können. Mit Makros können Veränderungen, die mehrere Tastaturanschläge benötigen, auf eine Tastenkombination gelegt werden. Das ist besonders praktisch bei Veränderungen, die häufig durchgeführt werden. Ein Beispiel ist die gleichzeitige Ausführung folgender Veränderungen:
zum Ende des Wortes springen
den letzten Buchstaben eines Worts löschen,
m einfügen,
wieder zum Beginn des Worts zu springen.
Sie kann als Makro mit der Tastenkombination Strg + M ausgeführt werden.
Lektorierende können von Makros profitieren, da sie so effizienter und schneller arbeiten können. Zum Beispiel können Makros für das Löschen unnötiger Leerzeichen oder für das Hervorheben von wiederkehrenden Fehlern wie Rechtschreibfehlern oder falsch gesetzten Kommas verwendet werden. Dadurch sparen Lektorierende Zeit und erhöhen gleichzeitig die Qualität ihrer Arbeit.
Makros können auch für die Erstellung von individuellen Prüfprotokollen oder für die Nachverfolgung von Änderungen in Dokumenten genutzt werden. Dadurch können Fehler und Änderungen schnell und einfach gefunden und korrigiert werden, was wiederum die Produktivität und Effektivität der Lektorierenden steigert.
Installierung
Makros können in Word direkt installiert werden. Dabei wird ein neues Makro erstellt, und der Code eines vorprogrammierten Makros kann hineinkopiert werden. Um die folgenden Makros zu installieren, gehe folgendermaßen vor:
Suche dir das Makro aus.
Klappe den VBA-Code aus (VBA-Code zeigen).
Kopiere den Code, indem du auf das Klemmbrett rechts klickst.
Öffne den VBA-Code-Editor in Word: Alt + F11 in Word drücken.
Kopiere den VBA-Code ganz unten in das Fenster Normal - New Macros (Code).
(optional) Weise dem Makro eine Tastenkombination zu, indem du auf Datei – Optionen – Menüband anpassen – Tastenkombinationen: Anpassen gehst. Hier kannst du unter Kategorien – Makros bei Befehl das Makro aussuchen. Jetzt drücke die Tastenkombination, die du haben magst (z. B. Strg + M). Als Letztes klickst du auf Zuordnen.
Makros für Veränderungen im Text
Die erste Makro-Kategorie erleichtert das Lektorieren, indem mehrere Tastenbewegungen zu einer zusammengefasst werden. Ich nutze sie während der detaillierten Textarbeit.
AddM
Dieses Makro ersetzt den letzten Buchstaben eines Wortes durch m. Wenn der letzte Buchstabe e ist, wird hinten ein m hinzugefügt.
Tip
Dieses Makro verwendet das MoveToEndOfWord-Makro. Bitte installiere es daher gemeinsam mit diesem Makro.
VBA-Code zeigen
Sub AddM()' Sarah Zeller' Version 22.03.2023' Setze ein Wort in den AkkusativIf Not Selection.End = Selection.Start Then Exit Sub MoveToEndOfWord Selection.MoveLeft Unit:=wdCharacter, Count:=1, Extend:=wdExtend 'Plural to Singular If Selection = "e" Or Selection = "u" Or Selection = "i" Then MoveToEndOfWord Options.ReplaceSelection = False Selection.TypeText Text:="m" Options.ReplaceSelection = True Else Selection.TypeBackspace Selection.TypeText Text:="m" End If Selection.MoveLeft Unit:=wdWordEnd Sub
Dieses Makro ersetzt den letzten Buchstaben eines Wortes durch n. Wenn der letzte Buchstabe e ist, wird hinten ein n hinzugefügt. Wenn der letzte Buchstabe n ist, wird stattdessen en hinten an das Wort angefügt.
Tip
Dieses Makro verwendet das MoveToEndOfWord-Makro. Bitte installiere es daher gemeinsam mit diesem Makro.
VBA-Code zeigen
Sub AddN()' Setze ein Wort in den Akkusativ' Sarah Zeller, Version 16.10.2022If Not Selection.End = Selection.Start Then Exit Sub MoveToEndOfWord Selection.MoveLeft Unit:=wdCharacter, Count:=1, Extend:=wdExtend 'Plural to Singular If Selection = "e" Or Selection = "l" Then MoveToEndOfWord Options.ReplaceSelection = False Selection.TypeText Text:="n" Options.ReplaceSelection = True ElseIf Selection = "n" Then Selection.InsertAfter Text:="en" Else Options.ReplaceSelection = True Selection.TypeText Text:="n" End If ' Selection.StartOf Unit:=wdWord ' MoveToEndOfWord Selection.MoveLeft Unit:=wdWordEnd Sub
Dieses Makro ersetzt den letzten Buchstaben eines Wortes durch r. Wenn der letzte Buchstabe e ist, wird hinten ein r hinzugefügt. Wenn der letzte Buchstabe n ist, wird stattdessen er hinten an das Wort angefügt.
Tip
Dieses Makro verwendet das MoveToEndOfWord-Makro. Bitte installiere es daher gemeinsam mit diesem Makro.
VBA-Code zeigen
Sub AddR()' Setze ein Wort in den Nominativ' Sarah Zeller' Version: 31.03.2023If Not Selection.End = Selection.Start Then Exit Sub MoveToEndOfWord Selection.MoveLeft Unit:=wdCharacter, Count:=1, Extend:=wdExtend 'Plural to Singular If Selection = "e" Or Selection = "u" Or Selection = "a" Then MoveToEndOfWord Options.ReplaceSelection = False Selection.TypeText Text:="r" Options.ReplaceSelection = True ElseIf Selection = "r" Then MoveToEndOfWord Options.ReplaceSelection = False Selection.TypeText Text:="er" Options.ReplaceSelection = True Else Selection.TypeBackspace Selection.TypeText Text:="r" End If Selection.MoveLeft Unit:=wdWordEnd Sub
Dieses Makro fügt an ein Wort den Buchstaben s an. Wenn der letzte Buchstabe s ist, wird hinten ein es hinzugefügt.
Tip
Dieses Makro verwendet das MoveToEndOfWord-Makro. Bitte installiere es daher gemeinsam mit diesem Makro.
VBA-Code zeigen
Sub AddS()' Setze ein Wort in den Genitiv' Sarah Zeller' Version: 20.07.2022If Not Selection.End = Selection.Start Then Exit Sub MoveToEndOfWord Selection.MoveLeft Unit:=wdCharacter, Count:=1, Extend:=wdExtend 'Plural to Singular If Selection = "ß" Or Selection = "s" Then Selection.InsertAfter Text:="es" Else Selection.InsertAfter Text:="s" End If Selection.MoveLeft Unit:=wdWordEnd Sub
Dieses Makro ersetzt das nächste normale Leerzeichen durch ein geschütztes. Dafür bewegt es sich um ein Wort nach rechts vom Cursor. Wenn dort noch kein Leerzeichen steht, setzt es ein geschützes ein; ansonsten ersetzt es das normale Leerzeichen durch ein geschütztes.
VBA-Code zeigen
Sub geschuetztesLeerzeichen()'' geschütztesLeerzeichen Makro' ersetzt das nächste normale Leerzeichen durch ein geschütztes' Sarah Zeller, 16.10.2022With ActiveWindow.View.RevisionsFilter .Markup = wdRevisionsMarkupSimpleEnd WithSelection.MoveRight Unit:=wdWord, Count:=1Selection.MoveLeft Unit:=wdCharacter, Count:=1If Selection = " " Or Selection = ChrW(160) Then Selection.MoveRight Selection.TypeBackspaceElse: Selection.MoveRightEnd IfSelection.TypeText Text:=ChrW(160)End Sub
Dieses Makro bewegt den Cursor an das Ende des Worts. Wenn man bei Word Strg + → drückt, wird der Cursor an den Beginn des nächsten Worts gebracht, d. h. die Leerzeichen werden übersprungen. Dieses Makro ist eine Alternative.
VBA-Code zeigen
Sub MoveToEndOfWord()' moves to the end of a word' regardless of any potential whitespaces before the next wordIf Selection.Text = " " Then Selection.MoveRight Unit:=wdWord, Count:=1End IfSelection.MoveRight Unit:=wdWord, Count:=1Selection.MoveLeft Unit:=wdCharacter, Count:=1If Selection.Text <> " " Then Selection.MoveRight Unit:=wdCharacter, Count:=1End IfEnd Sub
Dieses Makro verwandelt eine Referenz, die in Klammern steht, in eine Referenz, die im Text steht.
VBA-Code zeigen
Sub ZitatKlammernZuText()'' ZitatKlammernZuText Makro' Ändert ein Zitat um: von in Klammern gesetzt zu im Fließtext eingebettet' 'Dim iDim jDim ki = 0j = 0k = 0' Make sure I can jump back if I want toActiveDocument.Bookmarks.Add Name:="temp"' Check for parenthesisDo Until i >= 10 Selection.MoveRight Unit:=wdWord Selection.Expand Unit:=wdCharacter If Selection = "(" Then Selection.Delete i = 11 Else: i = i + 1 End IfLoop' jump back if no parenthesisIf i = 10 Then ActiveDocument.Bookmarks("temp").Select ActiveDocument.Bookmarks("temp").Delete Exit SubEnd If' Delete comma and set parenthesisDo Until j >= 15 Selection.MoveRight Unit:=wdWord Selection.Expand Unit:=wdCharacter If IsNumeric(Selection) Then ' Place parenthesis Selection.InsertBefore Text:="(" j = 16 ' Delete comma Do Until k = 4 Selection.MoveLeft Unit:=wdCharacter If Selection = "," Then Selection.Delete k = 4 ElseIf Selection = " " Then k = k + 1 ElseIf Selection = "," Then k = k + 1 Else: k = k + 1 End If Loop Else: j = j + 1 End IfLoopEnd Sub
Nach (Jack und Jones, 2023) ist dies ein Beispielsatz.
Nach Jack und Jones (2023) ist dies ein Beispielsatz.
Makros für Navigation
HoldMySpot
Manchmal ist es nötig, im Text herumzuspringen, etwa um Textstellen miteinander zu vergleichen. Danach ist es nicht immer leicht, die Stelle wiederzufinden, von der ich gestartet bin. Dieses Makro setzt zuerst ein Lesezeichen und springt dann wieder zu diesem Lesezeichen zurück, wenn ich es wieder ausführe.
VBA-Code zeigen
Sub HoldMySpot()' Add Bookmarks' Version: 20.07.2022' Sarah Zeller' Original: Shane BrysonDim temp As Stringtemp = "holdMySpot"With ActiveDocumentIf .Bookmarks.Exists(temp) Then .Bookmarks(temp).Select .Bookmarks(temp).DeleteElse: .Bookmarks.Add Name:=temp MsgBox "Bookmark set"End IfEnd WithEnd Sub