Ei Guude Rainer,
Nein, VB4 war englisch. Mit ganz wenigen Ausnahmen würde der
Code, der hier gepostet wir auch in VB4 laufen. Meine
VB4-Codes laufen jedenfalls alle auch unter VB6. Die IDE
erkennt die alte Version und konvertiert etwas in der .vbp,
der Code bleibt unverändert und läuft.
aha, dann hat MS halt nur bei seinen VBAs mal früher auf deutsche Befehle umgestellt und dann wieder auf Englisch.
Und, wenn ich jetzt wie kürzlich eine eigene Replace-Routine
schreibe, wo packe ich die am einfachsten hin daß die immer
vorhanden ist?
In ein Modul, aber lohnt der Aufwand für die sechs Zeilen?
*hmmh* ich vermiss da echt da echt die personl.xls in Excel oder die Normal.dot in Word, die werden jeweils beim Start des Programms geladen und Code, also Funktionen die da drin stehen sind in allen Dateien/Dokumenten verfügbar.
VB5? Dann Projekt, Hinzufügen, vorhandenes Modul, den Namen
anklicken, fertig. 
ist dann das Modul, der Code darin, auch vorhanden wenn ich ein neues Projekt starte? Wär schön.
Du hast in VB5 noch nicht so viel mit
mehreren Formen gemacht merke ich.
In VB6 kannst Du
Variablen nur in einem Modul global deklarieren, das wird in
VB5 auch so sein.
Ich hab von VB5 soviel Ahnung wie Boris Becker als Internetzugangsermöglicher 
Das geht ja mit diesem code auch. Meinetwagen kannst Du
300-fach verschachteln, das ändert nichts. 
Ich schaue mir den Code morgen an.
Nein. Der Code hat mit der Sachlage gar nichts zu tun, ich
habe noch nicht mal mit Deinem String getestet. Ich habe mir
Strings gebastelt, die möglichst unterschiedliche Varianten
von ineinander verschachtelten Klammern beinhalten, das geht,
geht immer.
Das ist ja grad das was ich nicht weiß. Ich glaube dir gerne, aber verzeih, ich würd das gerne austesten an einigen rtf-Dateien.
Darüber weiß ich gar nichts, in Word habe ich noch kein VBA
auf gemacht.
Es gibt so ca. 30 Programme die VBa kennen, und bei allen gilt, daß das was ich von Excel-Vba her kenne kann ich da nahezu komplett vergessen.
Klar sind For-next und IF-Then identisch, aber der große Rest, weia.
Und bei Jogibär, ich warte mal ab ob er sich auf meine Nachfrage meldet.
Nachfolgend mein Code zur einstweiligen Lösung diese eine rtf-datei auszulesen, tt2 starten.
Guts Nächtle wünsch
Gruß Reinhard
Option Explicit
Public Satz As String, Zei As Long
Sub tt()
Dim L As Long, S() As String, Spa As Long, off As Integer
ReDim S(Zei)
For L = 1 To Len(Satz)
Select Case Mid(Satz, L, 1)
Case "{"
If InStr(S(Zei), "\tab") Or InStr(S(Zei), "\par") Then
'If InStr(Cells(Zei, 1), "\tab") Or InStr(Cells(Zei, 1), "\par") Then
S(Zei) = ""
'Cells(Zei, 1) = ""
Else
Zei = Zei + 1
ReDim Preserve S(Zei)
End If
Case "}"
'nix
Case Else
S(Zei) = S(Zei) & Mid(Satz, L, 1)
'Cells(Zei, 1) = Cells(Zei, 1) & Mid(Satz, L, 1)
End Select
Next L
If InStr(S(Zei), "\tab") Or InStr(S(Zei), "\par") Then ReDim Preserve S(Zei - 1)
If InStr(Cells(Zei, 1), "\par") Then Cells(Zei, 1) = ""
'For L = 4 To 21
' Cells(2, L + 1) = Replace(Mid(S(L), InStr(S(L), " ") + 1), ":", "")
'Next L
Zei = 1
For L = 22 To UBound(S) - 1 Step 24
Zei = Zei + 1
off = 0
For Spa = 0 To 23
If Spa = 7 Or Spa = 15 Or Spa = 22 Then
Cells(Zei, Spa + off + 1) = ":"
off = off + 1
End If
If Spa = 17 Then
Cells(Zei, Spa + off + 1) = " "
off = off + 1
End If
Cells(Zei, Spa + off + 1) = Replace(Mid(S(L + Spa), InStr(S(L + Spa), " ") + 1), ":", "")
Next Spa
Next L
ActiveSheet.Columns.AutoFit
Ende:
End Sub
'
Sub tt2()
Dim S As String
ActiveSheet.UsedRange.ClearContents
Application.ScreenUpdating = False
Satz = ""
Zei = 1
Close
Open "C:\Download\ursprungsdoc.rtf" For Input As #1
'Open "H:\ursprungsdoc.rtf" For Input As #1
While InStr(S, "nowidctlpar") = 0
Line Input #1, S
Wend
While Not EOF(1)
Line Input #1, S
Satz = Satz & S
Wend
Close
Satz = "{" & Satz
'MsgBox Len(Satz)
'Satz = Mid(Satz, 2, Len(Satz) - 2)
'MsgBox Left(Satz, 1)
'MsgBox Right(Satz, 1)
Call tt
Application.ScreenUpdating = True
End Sub