Hey Blumenkübel,
also, wenn ich das lese kommen mir so meine Bedenken. Der Dispatcher Code ist für die Aufgabe nicht wirklich geeignet.
Lösbar wäre es zwar (auch wenn clag das so nicht sieht) - der Aufwand erscheint mir aber viel zu groß.
Du kannst die Markierung auslesen (ViewCursor) und die Position zwischenspeichern.
Und Du kannst den ViewCursor selbstverständlich auch frei im Dokument setzen (und somit die Markierung wieder erzeugen). Aber das ist sehr aufwendig!
Wenn Du schon Makros nutzt, nimm doch gleich die API Methode - die ist sehr perform und schnell.
Vom Grundgerüst sieht die wie folgt aus:
Code: Alles auswählen
oSuche = oDoc.createSearchDescriptor()
oSuche.setSearchString(sSuchText)
oSuchErg = oDoc.findfirst(oSuche)
Do while not isNull(oSuchErg)
oSuchErg.string = sNeuerString
oSuchErg = oDoc.findNext(oSuchErg.End, oSuche)
loop
wobei der sSuchstring dein zu suchender Begriff ist und sNeuerString das dafür einzusetzende Wort / Text darstellt.
Makros laufen dann unabhängig vom Viewcursur und Du kannst Dir den ganzen Aufwand sparen.
VG Tom