VBA rpad() and lpad() implementations that support specification of a pad character:
Function rpad(ByVal p_string As String, ByVal p_count As Integer, Optional ByVal p_character As String)
Dim v_character As String * 1
Dim v_count As Integer
If (p_count > 0) Then
v_count = p_count
Else
v_count = 0
End If
If (Len(p_string) >= v_count) Then
rpad = p_string
Exit Function
End If
If (Not IsMissing(p_character)) Then
v_character = p_character
Else
v_character = " "
End If
rpad=Left(p_string+String(v_count,v_character),v_count)
End Function
Function lpad(ByVal p_string As String, ByVal p_count As Integer, Optional ByVal p_character As String)
Dim v_character As String * 1
Dim v_count As Integer
If (p_count > 0) Then
v_count = p_count
Else
v_count = 0
End If
If (Len(p_string) >= v_count) Then
lpad = p_string
Exit Function
End If
If (Not IsMissing(p_character)) Then
v_character = Left(p_character, 1)
Else
v_character = " "
End If
lpad=Right(String(v_count,v_character)+p_string,v_count)
End Function
- Philip
Function rpad(ByVal p_string As String, ByVal p_count As Integer, Optional ByVal p_character As String)
Dim v_character As String * 1
Dim v_count As Integer
If (p_count > 0) Then
v_count = p_count
Else
v_count = 0
End If
If (Len(p_string) >= v_count) Then
rpad = p_string
Exit Function
End If
If (Not IsMissing(p_character)) Then
v_character = p_character
Else
v_character = " "
End If
rpad=Left(p_string+String(v_count,v_character),v_count)
End Function
Function lpad(ByVal p_string As String, ByVal p_count As Integer, Optional ByVal p_character As String)
Dim v_character As String * 1
Dim v_count As Integer
If (p_count > 0) Then
v_count = p_count
Else
v_count = 0
End If
If (Len(p_string) >= v_count) Then
lpad = p_string
Exit Function
End If
If (Not IsMissing(p_character)) Then
v_character = Left(p_character, 1)
Else
v_character = " "
End If
lpad=Right(String(v_count,v_character)+p_string,v_count)
End Function
- Philip