Ahh, well then forget reading the other thread. Instead, read up on collections in the help file. They can be very useful. Now, your end result here may be tricky, since you may also want to get page numbers.

Without knowing what your original document should look like, and you final document... I can only give you generic code. You could try something like this...
[vba]
Sub DemoOutputToNewDoc()
Dim oNewDoc As Document
Dim rngColoredText As Range
Dim colColoredText As Collection
Dim rngInsertWhere As Range

'get all the colored text ranges from the currently active document
Set colColoredText = fGetInverseCollection
'create a new document
Set oNewDoc = Documents.Add
'cycle through the collection of ranges (which are in the original document)
For Each rngColoredText In colColoredText
'copy them
rngColoredText.Copy
'set an insertion point range
Set rngInsertWhere = oNewDoc.Content
rngInsertWhere.Collapse wdCollapseEnd
'paste it in
rngInsertWhere.Paste
'insert an extra paragraph mark
rngInsertWhere.InsertAfter vbCr
Next

End Sub[/vba]
But in terms of getting page numbers... you have to decide whether to
1) try and determine the page number from the given range (which could be tricky)

2) apply a style to the given range in the original document... and then generate a TOC in that original document based only on that style, and then copy the TOC that's generated to the new document as text rather than a TOC field

3) something else...

But you need to give a definitive before and after... or all I can keep giving you is proof-of-concept type stuff.