"Greedy" Suchausdruck

14/05/2009 - 19:23 von christian.kirchhoff | Report spam
Hallo,

ich möchte mittels Visual Basic ein Dokument durchsuchen und dabei
Zeichenfolgen, die ein bestimmtes Zeichenformat habe, nacheinander
bearbeiten.

In der Suche (egal, ob nun direkt im Suchdialog oder per Visual Basic)
kann ich eine Formatvorlage angeben, nach der Dann gesucht wird. Dabei
wird aber jeweils nur ein Zeichen gefunden/markiert. Ich möchte aber
zusammenhàngende Bereiche als ganzes bearbeiten.

Ich könnte nun per VB die gefundene Position merken, dann zeichenweise
nach rechts gehen so lange, bis ein Zeichen mit einem anderen Format
auftaucht, und dann den Bereich von der STartposition bis zur
Endposition markieren.

Aber gibt es nicht einen Suchausdruck, der "greedy" ist und gleich so
viele Zeichen wie möglich findet/markiert?

Suche ich nach "*{1,}" (ohne Anführungszeichen), so erhalte ich eine
Fehlemeldung:
Der Text im Feld "Suchen nach" enthàlt einen ungültigen
Mustervergleich

Kann mir jemand helfen?

Viele Grüße,

Christian Kirchhoff
 

Lesen sie die antworten

#1 Christian Freßdorf
14/05/2009 - 21:34 | Warnen spam
Hallo Christian

In der Suche (egal, ob nun direkt im Suchdialog oder per Visual Basic)
kann ich eine Formatvorlage angeben, nach der Dann gesucht wird. Dabei
wird aber jeweils nur ein Zeichen gefunden/markiert. Ich möchte aber
zusammenhàngende Bereiche als ganzes bearbeiten.



über den Suchdialog (Word2000) wird der gesamte zusammenhàngende Bereich der
Zeichenformatvorlage markiert.

Suche ich nach "*{1,}" (ohne Anführungszeichen), so erhalte ich eine
Fehlemeldung:
Der Text im Feld "Suchen nach" enthàlt einen ungültigen
Mustervergleich



ja, das ist ein Bug in der Beschreibung/Hilfe, da in D das Semikolon
verwendet werden muss.

"*{1;}"
damit wird Zeichenweise durch die Fundstelle gegangen.


Gruß Christian
~~~~~~~~~~~~
Antworten / Rückmeldungen nur in die NG!
Co-Autor von »Microsoft Word-Programmierung.
Das Handbuch« (MS Press)

Ähnliche fragen