AW: Textmarken anspringen .....
28.11.2006 08:38:12
fcs
Hallo Uwe,
habe noch ein paar Zeilen zur Formatierung der gefundenen Einträge eingefügt und die Anweisung für Fehler angepasst.
Gruss
Franz
Sub QuerverweisAufTextmarkeEinfügen()
' Wandelt das Wort hinter einem * in einen Querverweis auf die Textmarke gleichen Namens
On Error GoTo Weiter1 'Setzt Makro fort, wenn Wort nach Stern keiner Textmarke entspricht
ActiveDocument.Save
Selection.HomeKey Unit:=wdStory
With Selection.Find
.ClearFormatting
' * Suchen
Zaehler = 0
Application.ScreenUpdating = False
Do While .Execute(FindText:="*", Format:=False) = True
'Wort nach dem Stern markieren
Selection.MoveRight Unit:=wdCharacter, Count:=1
Selection.MoveRight Unit:=wdWord, Count:=1, Extend:=wdExtend
'Wort durch Querverweis auf Textmarke ersetzen, wenn Wort = Text
Selection.InsertCrossReference ReferenceType:="Textmarke", ReferenceKind:= _
wdContentText, ReferenceItem:=Selection.Text, InsertAsHyperlink:=True, _
IncludePosition:=False
'Querverweis formatieren (blau, unterstrichen)
Selection.MoveLeft Unit:=wdWord, Count:=1, Extend:=wdExtend
Selection.MoveLeft Unit:=wdCharacter, Count:=1, Extend:=wdExtend
Selection.Font.ColorIndex = wdBlue
Selection.Font.Underline = wdUnderlineSingle
Weiter1:
'Schleife beenden, wenn Selection am Textende
If Selection.Range.End = ActiveDocument.Range.End Then Exit Do
Selection.MoveRight Unit:=wdCharacter, Count:=1
Zaehler = Zaehler + 1
If Zaehler = 100 Then
ActiveDocument.Save
Zaehler = 0
End If
Loop
Application.ScreenUpdating = True
End With
End Sub