Private Function RTF2Text(ByVal sRTF As String) As String
Dim Ci As String, Ck As String, RTFcommandSTR As String, PlainText As String
Dim RTFcommands() As String
Dim iLen As Integer, iBrace As Integer, i As Integer, k As Integer, j As Integer
iLen = Len(sRTF)
iBrace = 0
For i = 1 To iLen
Ci = Mid$(sRTF, i, 1)
If Ci = "}" Or Ci = "{" Then
If Ci = "}" Then iBrace = iBrace - 1
If Ci = "{" Then iBrace = iBrace + 1
Else
If iBrace = 1 Then
If Ci = "\" Then 'handle RTF Tags
For k = i To iLen
Ck = Mid$(sRTF, k, 1)
If Ck = Chr(10) Or Ck = Chr(13) Or Ck = Chr(32) Then
RTFcommandSTR = Mid$(sRTF, i, k - i)
RTFcommands = Split(RTFcommandSTR, "\")
i = k
For j = 0 To UBound(RTFcommands)
If RTFcommands(j) = "par" Then PlainText = PlainText & Chr(10)
Next j
Exit For
End If
Next k
Else 'add the Chr to the output
PlainText = PlainText & Ci
End If
End If
End If
Next i
RTF2Text = PlainText
End Function