Word ist nicht sonderlich ergonomisch und auch seine Funktionen lassen Wünsche offen.
Das muss nicht so bleiben; es gibt Methoden, die Software an die eigenen Bedürfnisse anzupassen. Einigermaßen simpel mit den Bordmitteln, raffinierter mit Kenntnissen von VBA und XML. Meine Erfahrungen habe ich hier zusammengeschrieben, um Ihnen einige Trial&Error-Momente zu ersparen.
Sie können die Einzeltipps anwenden und dabei etwas über Word lernen oder sich bequem mit dem AdInn »Tuhls’ Tools« die Arbeit erleichtern.
Als fertiges Autoren-Werkzeug können Sie das AddIn »Tuhls’ Tools« herunterladen.
Es enthält zahlreiche Werkzeuge, die die Schreibarbeit erleichtern. Einige der enthaltenen Funktionen sind in den Anleitungen auf dieser Seite zum Selbstbau beschrieben.
Wichtiger Hinweis:
Tuhls’ Tools arbeiten leider nicht mit der 64-bit-Version von Word.
Klicken Sie auf hier, um das AddIn herunterzuladen. Das ZIP-Archiv enthält das AddIn und eine ausführliche Anleitung.
Einige der enthaltenen Funktionen:
In den nachstehenden »Karteikarten« finden Sie Informationen, die über die »normale« Nutzung von Word hinausgehen. Gehen Sie dabei bedacht vor und lesen Sie die Anleitungen sorgfältig.
Makros sind keine Geheimwissenschaft, gerade in Word nicht.
Die hier veröffentlichten (oder aus anderen seriösen Quellen stammenden) Makros lassen sich ganz einfach in ein Dokument oder eine Vorlage übernehmen.
Im Fenster der Entwicklungsumgebung können Sie ein Makro mit % starten oder mit ( schrittweise ausführen.
Vom Textfenster aus rufen Sie den Makro-Dialog mit A+( oder in der Registerkarte Entwicklertools mit Makros auf, wählen das gewünschte Makro und betätigen eine der beiden Schaltflächen Ausführen oder Einzelschritt.
Um Makros einfacher zu starten, legen Sie sich mit »Menüband anpassen« eigene Schaltflächen oder Tastenkombinationen dafür an: Datei | Optionen | Menüband anpassen
Wechseln Sie in der Auswahl »Befehle auswählen« in den Bereich Makros und markieren Sie das gewünschte Makro.
Ordnen Sie dem Makro im rechten Fenster eine Schaltfläche zu oder nach Klick auf Tastenkombination: Anpassen ein Tastaturkürzel.
Word bringt eine eigene Entwicklungsumgebung für die hauseigene Programmiersprache »Visual Basic for Applications«, kurz VBA mit. Damit lassen sich immer wieder gleiche Funktionsabläufe als so genannte »Makros« aufzeichnen und bei Bedarf per Tastenkombination oder Schaltfläche abrufen. Eine Anleitung für die Verwendung des Makro-Recorders und einige Grundschritte in VBA finden Sie im verlinkten Tutorial.
AddIns (auch Add-Ins geschrieben) sind Ergänzungsprogramme, die sich in ein anderes Programm einklinken und damit dort zusätzliche Funktionen bereitstellen. Ggf. enthalten AddIns auch Ergänzungen des Menübandes und der Tastaturkürzel.
Da AddIns auch Schäden verursachen können, bedarf ihre Ausführung der Genehmigung durch den Nutzer. Die Behandlung von AddIns legen Sie in Datei | Optionen | Add-Ins und Vertrauensstellungscenter /Sicherheitscenter /Trust Center sowie mit der Registerkarte Entwicklertools fest.
Wichtig: Sollte eine Sub in einem AddIn dasselbe Label verwenden wie eine in der Dokumentvorlage gespeicherte Sub, ist letztere vorrangig und wird beim Aufruf über Tastenkombination oder Menüband anstelle der Sub im AddIn gestartet.
Es gibt zwei Kategorien von AddIns:
werden mit Visual Basic for Applications (VBA) programmiert und als Vorlagedatei (*.dotm) in einem Startup-Ordner gespeichert. Beim Start von Word werden sie mitgeladen.
Ein globaler Startup-Ordner enthält Add-Ins für alle Benutzer:
C:\Program Files (x86)\Microsoft Office\Office##\Startup oder
C:\Programme\Microsoft Office##\root\Office##\Startup oder
C:\Program Files (x86)\Microsoft Office\root\Office##\Startup
## steht für die interne Office-Versionsnummer.
Daneben gibt es für jeden Benutzer einen eigenen Startup-Ordner:
C:\User\(Benutzername)\AppData\Roaming\Microsoft\Word\Startup
sind aufwendiger programmiert und werden mit einer Installationsroutine installiert wie Programme.
AddIn-Sicherheit: Verwenden Sie möglichst nur AddIns aus Quellen, denen Sie vertrauen, indem Sie diese Einstellung im Trust Center wählen:
Der mit Datei | Optionen | Menüband anpassen zu öffnende Dialog lässt einige persönliche Anpassungen der Registerkarten im Menüband zu, hat allerdings eine Menge Einschränkungen. Die größte ist die Beschränkung auf den aktuellen Computer. Um angepasste Einstellungen »mitzunehmen«, ist eine ExportedUI-Datei zu generieren und auf anderen Computern zu installieren.
Sicherer geht es mit XML-Programmierung; dazu müssen Sie sich gar nicht großartig mit XML auskennen. Mit Hilfe spezieller Editor-Programme, ein paar Listen zum Nachschlagen und der verlinkten Anleitung schaffen Sie das auch ohne Vorkenntnisse. So erstellte Menüband-Anpassungen sind ideal zum Erstellen von Gruppenvorlagen. Ein Beispiel für eine auf diese Weise gestaltete Registerkarte finden Sie auf der Formularseite.
»Tuhls’ kleine RibbonUI-Fibel« hilft Ihnen, diese Technik kennenzulernen. Im Rahmen eines Projekts musste ich mich mit der Ribbon-Programmierung auseinandersetzen und wühlte mich durch die Eingeweide des Internets. Mein Ergebnis: Es ist alles da, aber nur mühsam zu finden und noch mühsamer als Einsteiger zu verstehen. Darum machte ich mich nach Abschluss des Projekts daran, meine Erkenntnisse in einsteigergerechter Weise aufzuschreiben.
Wer zugelieferte Texte oder Texte aus dem Internet weiterverarbeit kennt das Problem, dass diese diverse Satzmängel enthalten können: z. B. mehrfach aufeinanderfolgende Leerzeichen, Tabsprünge und Absatzmarken. Diese zu beseitigen, kann mühsam werden, auch wenn man dazu »Suchen und Ersetzen« verwendet, und die Funktion AutoFormat ist nicht zu Unrecht in den Tiefen der UI-Anpassung versteckt.
Die folgenden Makros verwenden auch die Funktionen von »Suchen und Ersetzen«, nur sind sie bereits so vorbereitet, dass nicht erst nach der passenden Steuerung des Ersetzen-Dialogs gefahndet werden muss. Installieren Sie sie wie oben beschrieben.
Die Sub ChangeChar und die Funktion KeineSelektion werden von den nachfolgenden Makros benötigt.
Kopieren Sie beide deshalb auf jeden Fall in Ihr VBA-Fenster.
Sub ChangeChar(SuchZeichen, ErsatzZeichen, FontSuch, BooleFormat, BooleWildCard)
Dim Steuerz, Feld As Boolean
Feld = ActiveWindow.View.ShowFieldCodes
ActiveWindow.View.ShowFieldCodes = False
Steuerz = ActiveWindow.ActivePane.View.ShowAll
ActiveWindow.ActivePane.View.ShowAll = False
With Selection.Find
.ClearFormatting
.Replacement.ClearFormatting
.Text = SuchZeichen
.Font.Name = FontSuch
.Font.Hidden = False
.Replacement.Text = ErsatzZeichen
.Forward = True
.Wrap = wdFindStop
.Format = BooleFormat
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = BooleWildCard
.MatchSoundsLike = False
.MatchAllWordForms = False
.Execute Replace:=wdReplaceAll
End With
ActiveWindow.ActivePane.View.ShowAll = Steuerz
ActiveWindow.View.ShowFieldCodes = Feld
End Sub
Function KeineSelection()
KeineSelection = 0
ksPrompt = "Diese Funktion sollte sicherheitshalber nur innerhalb eines markierten Textteils vorgenommen werden. Trotzdem ausführen?"
ksTitle = "Kein Text markiert"
KeineSelection = MsgBox(ksPrompt, vbYesNo, ksTitle)
End Function
Sub MehrfachBlanksRaus()
MirDochEgal = vbYes
If (Selection.Start = Selection.End) Then MirDochEgal = KeineSelection
If MirDochEgal = vbYes Then Call ChangeChar(" {2;}", " ", "", False, True)
End Sub
Sub FuehrendeBlanksRaus()
MirDochEgal = vbYes
If (Selection.Start = Selection.End) Then MirDochEgal = KeineSelection
If MirDochEgal = vbYes Then
Call ChangeChar(" {2;}", " ", "", False, True)
Call ChangeChar("^p ", "^p", "", False, False)
End If
End Sub
Sub FuehrendeBlanksZuTabs()
MirDochEgal = vbYes
If (Selection.Start = Selection.End) Then MirDochEgal = KeineSelection
If MirDochEgal = vbYes Then
bPrompt = "Wieviele Leerzeichen sollen zu je einem Tabsprung zusammengefasst werden?"
bTitle = "Leerzeichenanzahl"
bDefault = "4"
Anzahl = InputBox(bPrompt, bTitle, bDefault)
Call ChangeChar(" {" & Anzahl & "}", "^t", "", False, True)
Call ChangeChar(" {2;}", " ", "", False, True)
Call ChangeChar("^p ", "^p", "", False, False)
End If
End Sub
Sub AbsatzmarkenRaus()
MirDochEgal = vbYes
If (Selection.Start = Selection.End) Then MirDochEgal = KeineSelection
If MirDochEgal = vbYes Then
Call ChangeChar("^13{2;}", "^13", "", False, True)
Call ChangeChar("^p ", "^p", "", False, False)
End If
End Sub
'Absatzmarken durch Leerzeichen ersetzen (Fließtext wiederherstellen)
Sub AbsatzmarkenZuFliesstext()
MirDochEgal = vbYes
If (Selection.Start = Selection.End) Then MirDochEgal = KeineSelection
If MirDochEgal = vbYes Then
Call ChangeChar("^13{2;}", "äöüß", "", False, True)
Call ChangeChar("^13", " ", "", False, False)
Call ChangeChar("äöüß", "^13", "", False, False)
Call ChangeChar(" {2;}", " ", "", False, True)
End If
End Sub
Sub ZeilenschaltungZuAbsatz()
MirDochEgal = vbYes
If (Selection.Start = Selection.End) Then MirDochEgal = KeineSelection
If MirDochEgal = vbYes Then Call ChangeChar("^l", "^13", "", False, False)
End Sub
'Manuelle Zeilenschaltungen durch Leerschritte ersetzen
Sub ZeilenendenZuFliesstext()
MirDochEgal = vbYes
If (Selection.Start = Selection.End) Then MirDochEgal = KeineSelection
If MirDochEgal = vbYes Then
Call ChangeChar("^l", " ", "", False, False)
Call ChangeChar(" {2;}", " ", "", False, True)
If Left(Selection, 1) = " " Then Selection.Delete Unit:=wdCharacter, Count:=1
End If
End Sub
'Dieses Makro entfernt "Hoppeltabsprünge", wenn Standardtabstopps durch benutzerdefinierte ersetzt wurden.
Sub TabsRaus()
MirDochEgal = vbYes
If (Selection.Start = Selection.End) Then MirDochEgal = KeineSelection
If MirDochEgal = vbYes Then Call ChangeChar("^t{2;}", "^t", "", False, True)
End Sub
Seit Word 2013 sind die Tabellenrahmen beim Einfügen typographisch korrekt bündig mit dem Satzspiegel. Das hat allerdings bei ungerahmten Tabellen den Effekt, dass der Text innerhalb der Tabelle eingerückt erscheint. Den Text nun bündig am Satzspiegel auszurichten, ist mit der Maus im Lineal nur fummelig unter Zuhilfenahme der A-Taste möglich oder per Übernahme der Werte aus dem Dialog Zellenrahmen in der Registerkarte Tabellenlayout in den Absatz-Dialog in der Registerkarte Start. Am einfachsten geht das mit einem kleinen Makro, das die Tabellenränder um den Wert der inneren Abstände ausrückt.
Wichtig: Beim Aufruf des Makros muss die Schreibmarke in der zu bearbeitenden Tabelle stehen.
Sub Tabelleninhaltfluchten()
On Error GoTo fehler
With Selection.Tables(1)
einzuglinks = .LeftPadding * -1
.Rows.SetLeftIndent LeftIndent:=einzuglinks, RulerStyle:=wdAdjustNone
letztespalte = .Columns.Count
breite = .Columns(letztespalte).Width + .RightPadding
.Columns(letztespalte).SetWidth ColumnWidth:=breite, RulerStyle:=wdAdjustNone
.Select
With Selection
.Borders(wdBorderTop).LineStyle = wdLineStyleNone
.Borders(wdBorderLeft).LineStyle = wdLineStyleNone
.Borders(wdBorderBottom).LineStyle = wdLineStyleNone
.Borders(wdBorderRight).LineStyle = wdLineStyleNone
.Borders(wdBorderHorizontal).LineStyle = wdLineStyleNone
.Borders(wdBorderVertical).LineStyle = wdLineStyleNone
.Borders(wdBorderDiagonalDown).LineStyle = wdLineStyleNone
.Borders(wdBorderDiagonalUp).LineStyle = wdLineStyleNone
End With
End With
Exit Sub
fehler: MsgBox ("Fehler aufgetreten." & Chr(13) & "Steht die Schreibmarke in der Tabelle?")
End Sub
Nahezu alle Programme verwenden S+U+s für die Funktion Speichern unter, nur Word nicht, hier steht S+U+s für Format übernehmen; Speichern unter ruft man mit ° auf. Das hat historische Gründe. Als mit Word noch tastaturbasiert gearbeitet wurde, gab es keine Mehrfach-Tastenbedienungen außer U für Großbuchstaben. Alle Funktionen wurden auf Einzeltasten oder über das per E einzublendende Menü aufgerufen.
Da die Tastenkombination S+U+s nicht anderweitig in Word belegt ist, hätte Microsoft das längst einmal nachbessern können. Mit der benutzerdefinierten Tastenbelegung kann man es nicht nachrüsten, weil diese Funktion Sperenzchen macht, sobald man eine Belegung mit U einrichten möchte. Ein kleines Makro schafft Abhilfe:
1. Legen Sie ein leeres Word-Dokument an.
2. Öffnen Sie mit A+? den VBA-Editor.
3. Öffnen Sie links im Projekt-Fenster Projekt (Dokument1) | Microsoft Word Objekte | ThisDocument.
4. Kopieren Sie das nachfolgende Makro via Zwischenablage in das rechte Fenster.
Sub TastenkombiSpeichernUnter()
With Application
.CustomizationContext = NormalTemplate
.KeyBindings.Add KeyCode:= BuildKeyCode(wdKeyControl, wdKeyShift, wdKeyS), _
KeyCategory:=wdKeyCategoryCommand, Command:="FileSaveAs"
NormalTemplate.Save
End With
End Sub
5. Setzen Sie anschließend die Schreibmarke irgendwo in den Makro-Code und starten Sie das Makro mit %.
Sie müssen dieses Makro nur einmal starten, denn dank der Zeile NormalTemplate.Save wird die Tastenbelegung in der Normal.dotm dauerhaft gespeichert.