Supportnet / Forum / Anwendungen(Java,C++...)
Gefundene Textpassagen auslesen
Frage
Hallo!
Ich sitze hier gerade an einem VBA-Problem (Word97):
Ich suche einen Text, der durch einen regulären Ausdruck ermittelt wird. Aber irgendwie markiert Word den bei einem Fund nicht, sondern lässt den Cursor, wo er ist.
Wäre er markiert, könnte ich ihn mit [code]Selection.Text[/code] auslesen, aber so?
Hier ist mal ein wenig Code:
[code]
If ActiveDocument.Bookmarks.Exists("marke") Then
start_bereich = ActiveDocument.Bookmarks("marke").Start
ende_bereich = ActiveDocument.Bookmarks("marke").End
Set meinbereich = ActiveDocument.Range(Start:=start_bereich, End:=ende_bereich)
With meinbereich.Find
.Text = "^z*[!^t]^t"
.Execute MatchWildcards:=True, Forward:=True
End With
Selection.Find.Execute
While massbereich.Find.Found
' mach Kram
Wend
End If[/code]
Da, wo "mach Kram" steht, brauche ich den gefundenen Text. Hat jemand eine Ahnung, wie ich an den rankommen kann?
mfg bored
Antwort 1 von bored
Uups :)
If ActiveDocument.Bookmarks.Exists("marke") Then
start_bereich = ActiveDocument.Bookmarks("marke").Start
ende_bereich = ActiveDocument.Bookmarks("marke").End
Set meinbereich = ActiveDocument.Range(Start:=start_bereich, End:=ende_bereich)
With meinbereich.Find
.Text = "^z*[!^t]^t"
.Execute MatchWildcards:=True, Forward:=True
End With
Selection.Find.Execute
While meinbereich.Find.Found
' mach Kram
Wend
End If
Antwort 2 von bored
So, hat sich erledigt.
Für alle, die es interessiert:
Wenn man die Find-Methode in einem Range-Objekt benutzt (so wie ich hier), dann wird der gefundene Text nicht markiert. Sobald man das mit nem Selection-Objekt macht, funzt das.
In meinem Fall also:
mfg bored
Für alle, die es interessiert:
Wenn man die Find-Methode in einem Range-Objekt benutzt (so wie ich hier), dann wird der gefundene Text nicht markiert. Sobald man das mit nem Selection-Objekt macht, funzt das.
In meinem Fall also:
meinbereich.Select
Selection.Find usw usf.
mfg bored