Hallo,
habe deine Frage zufällig gesehen, weil ich auf der Suche nach der Lösung zu einem ähnlich gelagerten Problem war.
Mach die Suche nicht über
Call rtn.FindFirstElement(RTELEM_TYPE_TEXTPARAGRAPH)
sondern mit
Call rtn.FindFirstString("(PageBreak)")
dann setzt du den Seitenumbruch mit
Call rti.BeginInsert( rtNav, True )
Call rti.AddPageBreak()
Call rti.EndInsert
Wie du das alles in eine Schleife verpackst, bleibt dir aber selbst überlassen ;-))
Am Ende nimmst du dann noch eine einfache Variante zu deiner 'Do While' Schleife, um den String "(PageBreak)" zu löschen:
rtr.FindAndReplace("(PageBreak)", " ", 16)
Achte darauf, dass das zweite Argument ein Leerschritt ist, mit "" hat es bei mir nicht geklappt.
Die 16 am Ende ist der Long-Wert von RT_REPL_ALL und veranlaßt, dass alle im RichText Feld gefundenen Suchstrings ersetzt werden.