Public Function LTrimStr(ByRef Src As String, Optional ByRef Trim As String = " ") As String
Dim lStart As Long
Dim lStep As Long
Dim lMax As Long
If LenB(Trim) > 0 And LenB(Src) > 0 Then
lStep = Len(Trim)
lMax = Len(Src) - lStep
lStart = 1
Do Until lStart >= lMax Or Mid$(Src, lStart, lStep) <> Trim
lStart = lStart + lStep
Loop
LTrimStr = Mid$(Src, lStart)
Else
LTrimStr = Src
End If
End Function
Public Function RTrimStr(ByRef Src As String, Optional ByRef Trim As String = " ") As String
Dim lEnd As Long
Dim lStep As Long
If LenB(Trim) > 0 And LenB(Src) > 0 Then
lStep = Len(Trim)
lEnd = Len(Src) + 1 - lStep
Do Until lEnd <= 1 Or Mid$(Src, lEnd, lStep) <> Trim
lEnd = lEnd - lStep
Loop
RTrimStr = Left$(Src, lEnd)
Else
RTrimStr = Src
End If
End Function
Public Function TrimStr(ByRef Src As String, Optional ByRef Trim As String = " ") As String
Dim lStart As Long
Dim lEnd As Long
Dim lStep As Long
Dim lMax As Long
If LenB(Trim) > 0 And LenB(Src) > 0 Then
lStep = Len(Trim)
lMax = Len(Src) - lStep
lStart = 1
Do Until lStart >= lMax Or Mid$(Src, lStart, lStep) <> Trim
lStart = lStart + lStep
Loop
lEnd = Len(Src) + 1 - lStep
Do Until lEnd <= 1 Or Mid$(Src, lEnd, lStep) <> Trim
lEnd = lEnd - lStep
Loop
TrimStr = Mid$(Src, lStart, lEnd - lStart + 1)
Else
TrimStr = Src
End If
End Function