Register mit Microsoft Word

aus GenWiki, dem genealogischen Lexikon zum Mitmachen.
Version vom 10. Juni 2020, 09:05 Uhr von PLingnau (Diskussion • Beiträge) (geht nicht mehr in Office 2010)
(Unterschied) ← Nächstältere Version • aktuelle Version ansehen (Unterschied) • Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

Einleitung

Der Artikel bezieht sich auf Microsoft Word 2002 und Word 2007. Die beschriebenen Funktionen sind mindestens ab Word 2000 verfügbar. In Microsoft Word 2010 sind Makros nicht mehr so verwendbar.

Überblick

Umfangreiche genealogische Dokumente benötigen immer ein Namensregister und ein Ortsregister, manchmal ein Sachregister. In Microsoft Word gibt es die Möglichkeit mit Hilfe von Feldfunktionen und Schaltern mehrere Register zu erstellen. Idealerweise möchte man nur an den Wortanfang gehen und eine Taste drücken, um den Register-Eintrag zu erzeugen – je nach Register eine andere Tastenkombination. Ein Beispiel einer Microsoft-Word-Datei mit Visual-Basic-Makros zur Register-Erzeugung mit Tastenkürzeln finden Sie in Register_beispiel.doc.

In der Beispieldatei sind drei Index-Makros enthalten.

NamensIndex Taste: Strg+Umschalt N
OrtsIndex Taste: Strg+Umschalt O
SachIndex Taste: Strg+Umschalt S

Die Änderung der Tastenzuordnung ist am Ende dieses Artikels beschrieben.

Benutzung der Beispiel-Makros

  • an den Wortanfang gehen und die jeweilige Taste drücken
  • Makros im Menü: Extras, Makro, Makros - Word 2007: Reiter Datei, Makros
  • Register-Erzeugung mit Feldfunktion INDEX, siehe Beispiele unten
  • Umschalten Anzeige ein/aus für verborgene Index-Feldfunktion INDEX mit Taste Alt-F9 - Word 2010: Reiter Datei, Word-Optionen, Anzeige "Alle Formatierungszeichen anzeigen"
  • Aktualisierung aller Index-Übersichten mit Funktionstaste F9 ,
    vorher gesamtes Dokument markieren – beispielsweise mit Strg-a
  • Die Formatierungen im jeweiligen Index entsprechen der Schreibweise im Text. Sollen alle Indexeinträge in Kursivschreibweise erscheinen, müssen im Text alle Einträge der Feldfunktionen in Kursivschrift formatiert sein.
  • Groß- und Kleinschreibung wird im Index unterschieden. Die Einträge "SCHULZ" und "Schulz" erzeugen 2 Einträge im Namensindex. An der Textstelle von "SCHULZ" kann in den geschweiften Klammern der Eintrag in "Schulz" geändert werden.

Sicherheitseinstellungen

Enthält ein Word-Dokument Makros, erscheint beim Öffnen des Dokumentes (je nach Einstellung) eine Abfrage zum Aktivieren der Makros.

Sollte diese Abfrage nicht kommen, wäre die Sicherheitsstufe zu prüfen: Im Menü Extras, Makro, Sicherheit die Sicherheitsstufe „Mittel“ wählen - Word 2010: Reiter Datei, Optionen, Sicherheitscenter, Einstellungen..., „Alle Makros mit Benachrichtigung deaktivieren“ wählen.

Msword register 01.png
Msword register 02.png

Register-Erstellung

Ein Register wird in Word „Index“ genannt. Ein Index-Eintrag kann über das Menü erstellt werden: Einfügen, Referenz, Index und Verzeichnisse - Word 2010: Reiter Verweise, Index Einfügen.

Msword register 03.png
Msword register 04.png

Ergebnis ist ein verborgener Text innerhalb einer Feldfunktion XE. Msword register 05.png.

Haupteintrag und Untereintrag sind durch einen Doppelpunkt getrennt. So kann man Index-Einträge für ein Register erzeugen: Das Register selbst wird durch Klick auf „OK“ auf dem Reiter „Index“ des Menüpunkts „Index und Verzeichnisse“ erzeugt. Dabei wird im Hintergrund die Feldfunktion INDEX benutzt. In das Dokument wird eingefügt Msword register 06.png

Anzeige der Feldfunktionen Ein-/Ausschalten über die Schritte: "Extras", "Optionen", Reiter "Ansicht" wählen, in der Rubrik "Anzeigen" die "Feldfunktionen" aktivieren/deaktivieren. Im gleichen Optionsfenster darauf achten, dass in der Rubrik "Formatierungszeichen" der Eintrag "Alle" deaktiviert ist. In Word 2010: Reiter Datei, Optionen, Erweitert, "Feldfunktionen anstelle von Werten anzeigen".

Nachbearbeitung von Register-Einträgen

Wenn ein vorhandener Eintrag nachträglich bearbeitet wird, kann es passieren, dass beim Arbeiten mit der Maus automatisch Leerzeichen in den Registereintrag eingefügt werden. Will man beispielsweise den Eintrag {xe "Anna Barbara Oesterling" \f N} in einen Haupt- und Untereintrag aufteilen und verschiebt dazu zuerst mit der Maus ein Wort (hier: Oesterling), dann fügt MS-Word automatisch Leerzeichen ein: {xe " Oesterling Anna Barbara " \f N}. Diese sollte man löschen, da sonst im Register die Namen doppelt aufgeführt werden. Der richtige Eintrag lautet: {xe "Oesterling:Anna Barbara" \f N}. Hierin dient der Doppelpunkt als Trennzeichen zwischen Haupt- und Untereintrag.

Register-Erstellung mit Schalter – technischer Hintergrund

Die Index-Feldfunktionen haben einige Schalter (Optionen). Die Beschreibung erreicht man über das Menü „Einfügen“, „Feldfunktion“ - Word 2010: Reiter Einfügen, Schnellbausteine, Feld.

Msword register 07.png

Der Schalter \f erlaubt es, einen Buchstaben (Indextyp) mitzugeben, z.B. „\f O“ für ein Ortsregister. Im Text sieht ein Eintrag für Augsburg dann so aus Msword register 08.png

Ein Ortsindex würde mit dem gleichen Schalter mit der Feldfunktion INDEX erzeugt: Msword register 09.png

Makro-Beschreibung

Makro zur Index-Erstellung

Das Makro zur Index-Erstellung soll das Wort ab Cursorpostion in den Indexeintrag übernehmen. Der Indextyp ist der Parameter.

Private Sub Index(typ As String)

' Index vom typ erstellen
  Dim strText1 As String ' Variable für Name
  Dim l1, l2 As Integer  ' Länge
    Selection.MoveRight Unit:=wdWord, Count:=1, Extend:=wdExtend ' Name markieren
    Selection.Copy                                               ' Name kopieren
    strText1 = Selection.Text                  ' aus Zwischenablage in Variable
    l1 = Len(strText1)                         ' Länge mit Leerzeichen
    strText1 = Trim(strText1)                  ' Leerzeichen rechts weg
    l2 = Len(strText1)                         ' Länge ohne Leerzeichen
    Selection.MoveRight , Count:=1             ' Markierung aufheben Cursor nach rechts
    If l1 > l2 Then                      ' wurden Leerzeichen entfernt, dann ...
      l1 = l1 - l2
      Selection.MoveLeft , Count:=l1     ' Zeichen nach links
    End If
    ActiveWindow.ActivePane.View.ShowAll = True
    Selection.Fields.Add Range:=Selection.Range, Type:=wdFieldEmpty, _
      Text:="xe " + """" + Trim(strText1) + """" + " \f " + Trim(typ), _
      PreserveFormatting:=False
End Sub

Verschiedene Indextypen erzeugen

Das obige Makro ruft man dazu mit einem Parameter auf.

' Ortsindex-Eintrag erzeugen
Sub OrtsIndex()
  Call Index("O")
End Sub

Änderung Tastaturzuordung

In der Beispieldatei sind die Tasten bereits zugeordnet. Änderung der Zuordnung der Tastenkombinationen zu den Makros über Menüpunkt Extras, Anpassen, Reiter: Befehle. Unten auf Button „Tastatur“ klicken - Word 2010: Reiter Datei, Optionen, Menüband anzeigen, Tastenkombinationen Button "anpassen", Kategorie "Makros", Makro auswählen.

Msword register 10.png

Im neuen Fenster Kategorien, Makros, unten bei „Speichern in“ die aktuelle Datei (hier „register_beispiel“) auswählen.

Msword register 11.png

Rechts stehen die Makros. Ein Makro muss ausgewählt werden. In das Eingabefeld „neue Tastenkombination“ gehen. Die neue Tastenkombination eingeben – durch gleichzeitiges Drücken der Tasten, beispielsweise für Makro Namensindex die Tasten Strg+Umschaft+Q. Dann den Button "Zuordnen" klicken.