MS Word, markierte Textteile ausgeben

Hallo Experte,
können Sie mir helfen folgendes Problem zu lösen?
Ich habe Änderungen in vielen Texten durchzuführen, wobei die Funktion „Suchen und Ersetzen“ nicht genügt.
Ich stelle mir das so vor, dass ich manuell die interessierenden Passagen farblich markiere und dann ein Makro dafür sorgt, dass die markierten Passagen am Ende des Textes (jede Fundstelle in einem Absatz) erscheinen oder in eine neue Datei ausgegeben werden.
Können Sie mir da helfen?
Vielen Dank
Marx

Hallo hier ein Code. Der nimmt aber keine Rücksicht auf mehrere Markierte Worte in einer Zeile (einem Absatz), sondern gibt jedes Wort aus.

Sub Marker\_Feststellen1()

Dim CheckWord As String
Dim Seite As Double
Dim Zeile As Double
Dim Zeichen As Double

' am Ende des Textes einen Marker setzen
Selection.EndKey Unit:=wdStory
Selection.InsertAfter "MyEndOfStory" + vbCr
' Anfügen der Listen-Überschrift
Selection.EndKey Unit:=wdStory
Selection.TypeText Text:="Seite" & vbTab & "Zeile" & vbTab & "Zeichen" & vbCr
Selection.TypeParagraph
' Formatieren der Tabulatoren
Selection.MoveUp Unit:=wdLine, Count:=1
Selection.MoveDown Unit:=wdLine, Count:=2, Extend:=wdExtend
Selection.ParagraphFormat.TabStops.Add Position:=CentimetersToPoints(1.5) \_
 , Alignment:=wdAlignTabLeft, Leader:=wdTabLeaderSpaces
Selection.ParagraphFormat.TabStops.Add Position:=CentimetersToPoints(3.5) \_
 , Alignment:=wdAlignTabLeft, Leader:=wdTabLeaderSpaces

' Beginn der Suche
Selection.HomeKey Unit:=wdStory
' Suchen bis Marker
Do Until CheckWord = "MyEndOfStory"
 ' alte Auswahl aufheben
 Selection.Collapse Direction:=wdCollapseEnd
 'nächstes Wort ermitteln
 Selection.MoveRight Unit:=wdWord, Count:=1, Extend:=wdExtend
 CheckWord = Selection

 'Prüfen ob Auswahl ohne "Textmarker"
 If Selection.Range.HighlightColorIndex wdNoHighlight Then
 'Textmarker vorhanden =\> Position ermitteln
 Seite = Selection.Information(wdActiveEndPageNumber)
 Zeile = Selection.Information(wdFirstCharacterLineNumber)
 Zeichen = Selection.Information(wdFirstCharacterColumnNumber)

 'am Ende des doc die Position eintragen
 Selection.EndKey Unit:=wdStory
 Selection.InsertAfter CStr(Seite) + vbTab + CStr(Zeile) + \_
 vbTab + CStr(Zeichen) + vbCr
 ' zurück zu letzten geprüften Wort und eins weiter
 Selection.GoTo What:=wdGoToPage, Count:=Seite
 Selection.MoveDown Unit:=wdLine, Count:=Zeile - 1
 Selection.HomeKey Unit:=wdLine
 Selection.MoveRight Unit:=wdCharacter, Count:=Zeichen + Len(CheckWord)
 End If
Loop
End Sub

eigentlich ein kompletter Progranmmierauftrag, der 50 Euronen kosten müsste :wink:)

Hallo Amtsschimmel,
vielen Dank für die wertvolle Hilfe.
Das Makro funktioniert einwandfrei und hilft mir, mein Problem zu lösen.
Marx

Denk bitte daran, den Urheber „Amtsschimmel von wer-weiss-was.de“ im Code zu zitieren, wenn Du andere Nutzer damit arbeiten lässt oder es auf einem PC außerhalb Deiner Häuslichkeit (z…B. beim Arbeitgeber) aufspielst.
Zum Beispiel so

' Urheber des Makros ist Amtsschimmel von wer-weiss-was.de (c) 2012

Vermeidet auch Peinlichkeiten, wenn man (vom Arbeitgeber) zum Code befragt wird, schnell mal was anderes programmieren soll,…

Sorry für meine späte Antwort.

Leider habe ich derzeit keinen Zugriff auf eine Microsoft Office Version mehr. Daher kann ich keine Unterstützung mehr bieten.