Register mit Microsoft Word

aus GenWiki, dem genealogischen Lexikon zum Mitmachen.
Zur Navigation springen Zur Suche springen

Überblick

Umfangreiche genealogische Dokumente benötigen immer ein Namensregister und ein Ortsregister, manchmal auch ein Sachregister. In Microsoft Word gibt es die Möglichkeit mit Hilfe von Feldfunktionen und Schaltern mehrere Register gleichzeitig 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 hier Register_beispiel.doc.

Drei Index-Makros sind in der Beispieldatei 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
  • in den Menüpunkten Extras, Makro, Makros sind die drei Makros zu finden.
  • Register-Erzeugung mit Feldfunktion INDEX, siehe Beispiele unten
  • Umschalten Anzeige ein/aus für verborgene Index-Feldfunktion INDEX mit Taste Alt-F9
  • Aktualisierung aller Index-Übersichten mit Funktionstaste F9 ,
    vorher alles im Dokument markieren – beispielsweise mit Strg-a

Einleitung

Diese Beschreibung basiert auf der Version Word 2002. Ältere und neuere Versionen haben möglicherweise einen anderen Menüaufbau. Die beschriebenen Feldfunktionen sind mindestens ab der Version 2000 verfügbar.

Allgemeines zu Word-Makros

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.

Msword register 01.png
Msword register 02.png

Register-Erstellung

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

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

Anzeigen Feldfunktionen ein/aus über Extras, Optionen, Reiter „Ansicht“, Anzeigen, Feldfunktionen.

Register-Erstellung mit Schalter – technischer Hintergrund

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

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,

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.