| Public Function WrapString( _
sLineToWrap As String, _
Optional nFirstLine As Long = 5, _
Optional nOtherLines As Long = 0, _
Optional nLineLength As Long = 72) As String
Dim bFirst As Boolean
Dim nPos As Long
Dim bBreakFound As Boolean
bFirst = True
Do While Len(sLineToWrap) > nLineLength
nPos = nLineLength
bBreakFound = False
Do Until nPos = 0 Or bBreakFound
If Mid(sLineToWrap, nPos, 1) = " " Then
bBreakFound = True
ElseIf Mid(sLineToWrap, nPos, 1) = "-" Then
bBreakFound = True
Else
nPos = nPos - 1
End If
Loop
If nPos = 0 Then
nPos = nLineLength
End If
WrapString = WrapString & Space(IIf(bFirst, nFirstLine, _
nOtherLines)) & Mid(sLineToWrap, 1, nPos) & vbNewLine
sLineToWrap = Mid(sLineToWrap, nPos + 1)
bFirst = False
Loop
WrapString = WrapString & Space(IIf(bFirst, _
nFirstLine, nOtherLines)) & sLineToWrap
End Function
|