Endlos-Schleife sobald gesuchte Formatvorlage in Tabelle auftaucht

20/05/2010 - 21:55 von AndreasHermle | Report spam
Liebe Experten:

Der Code weiter unten hilighted alle Wörter einer bestimmten
benutzerdefinierten Formatvorlage. Sobald sich diese Formatvorlage in einer
Tabellen befindet, geht dieser Code in einen unendlichen loop.

Woran liegt das? Was muss ich an diesem Code àndern.

Vielen Dank im voraus für Eure Hilfe.

Gruss, Andreas


Sub HilightStyle()
Dim rngSuchbereich As Range
Dim lngSuchEnde As Long
Dim lngAnzahlGefunden As Long
Dim c As Range
Dim sty As Style

With ActiveDocument
Set rngSuchbereich = .Content

lngSuchEnde = .Content.End
End With

With rngSuchbereich.Find
.Format = True
.Style = ActiveDocument.Styles("User-Defined-Style")
Do
.Execute
If .Found = True Then
With rngSuchbereich
If .HighlightColorIndex <> wdTeal Then
.HighlightColorIndex = wdTeal
lngAnzahlGefunden = lngAnzahlGefunden + 1
End If
End With
Else
Exit Do
End If
With rngSuchbereich
.Start = .End + 1
.End = lngSuchEnde
End With
Loop
End With
MsgBox Prompt:="Die Formatvorlage wurde " & lngAnzahlGefunden & " mal
gehilighted!"

End Sub
 

Lesen sie die antworten

#1 Thomas Gahler
20/05/2010 - 23:14 | Warnen spam
Hallo Andreas

Sobald sich diese Formatvorlage in einer
Tabellen befindet, geht dieser Code in einen unendlichen loop.

Woran liegt das?


Es ist schon spàt, so kann ich deinen Code nicht mehr anschauen. Und vor DI
habe ich keine Zeit mehr.

Aber...


Der Code weiter unten hilighted alle Wörter einer bestimmten
benutzerdefinierten Formatvorlage.
[...]
If .HighlightColorIndex <> wdTeal Then
.HighlightColorIndex = wdTeal


Du möchtest die Farbe bei allen Stellen einheitlich setzen und du hast eine
Formatvorlage.

Vielleicht hat es ja einen bestimmten Grund, dass du das so machst, doch ich
würde dir empfehen, dass du auf .HighlightColorIndex verzichtest und
stattdessen der Formatvorlage eine Schattierung (siehe 'Rahmen und
Schattierungen') verwendest. So hast du die farbliche Kennzeichnung bereits
dann wenn du die Formatvorlage der Textstelle zuweist und kannst diese bei
Bedarf zentral in der Formatvorlage àndern.

Ist das was?
Gib doch ein Feedback, bevor wir den Code untersuchen...


Thomas Gahler
Co-Autor von »Microsoft Word-Programmierung.
Das Handbuch« (MS Press)


- Windows Vista (SP2), Office 2007 (SP2)

Ähnliche fragen