Ho questa funzione di Xegallo che formatta una stringa, in base alla stringa, al carattere scelto e alla lunghezza definita.
Solamente che se gli dico di formattare "pippo",56,"#"; lui mi restituisce "pippo" + 56 "#", quindi una stringa di Len = 61
A me serve una stringa di 56 con all' interno "pippo" ...
Vi posto il codice:
codice:
Public Function formatNumStringa(prms_Input As String, prml_NumChar As Long, _
Optional prms_FormatChar As String = "#") As String
'# Parametri: #
'# prms_Input: Stringa da formattare #
'# prml_NumChar: Numero dei caratteri per i quali formattare #
'# prms_FormatChar: Carattere usato per formattare #
'# Valore restituito: #
'# stringa che formatta i numeri in maniera che siano sia numericamente #
'# che alfabeticamente ordinati #
'# "10 - Padova Arcella" -> "0000000010 - Padova Arcella #
Dim i As Integer
Dim ls_temp As String
Dim ls_Str000 As String
Dim strDummy As String
ls_Str000 = String$(prml_NumChar, prms_FormatChar)
For i = 1 To Len(prms_Input)
If IsNumeric(Mid$(prms_Input, i, 1)) Then
ls_temp = ls_temp + Trim(Mid$(prms_Input, i, 1))
Else
If ls_temp <> "" Then
strDummy = strDummy + formatNumStringa + Right(ls_Str000 + ls_temp, Len(ls_Str000))
formatNumStringa = ""
ls_temp = ""
End If
formatNumStringa = formatNumStringa + Mid$(prms_Input, i, 1)
End If
Next i
formatNumStringa = strDummy + formatNumStringa + Right(ls_Str000 + ls_temp, Len(ls_Str000))
End Function