version=2.1.0
vdate=03.01.2017
fname=cast_techname.bas
ns=%NAMESPACE%
fpath=/vba/cast
====== [VBA] techName() ======
//Erstellt aus einem String ein Technischer Name. Ersetzt Leer- und Sonderzeichen durch _, kürzt aus vorgegebene Länge, übersetzt Umlaute etc.//
==Version %%version%% - %%vdate%%==
{{%%fname%%|Download %%fname%% (V-%%version%%)}}
>Siehe auch [[vba:cast:readablename]]
===== Definition =====
techName(iName[, iMaxLen[, iStrConv[, iDelemiter]]])Public Function techName( _
ByVal iName As String, _
Optional ByVal iMaxLen As Integer = 255, _
Optional ByVal iStrConv As tnStrConv = vbUpperCase, _
Optional ByVal iDelemiter As Variant = Null _
) As String
***iName ** Name der gewandelt werden soll
***iMaxLen ** Maximale Länge
***iStrConv ** Art der Konvertierung. Lower/Uper/Proper-Case
***iDelemiter ** Deleimter. Default: Bei Proper Case "" ansonsten "_" gebraucht
=== Enum tnStrConv ===
Der Enum ist eigentlich nur eine Auswahl aus vbStrConv
Public Enum tnStrConv
vbUpperCase = VbStrConv.vbUpperCase 'Alles in Grossbuchstaben -> Standarddelimiter: "_"
vbLowerCase = VbStrConv.vbLowerCase 'Alles in Kleinbuchstaben -> Standarddelimiter: "_"
vbProperCase = VbStrConv.vbProperCase 'Immer erster Buchstabe klein -> Standarddelimiter: ""
End Enum
===== Beispiele =====
> Für die Beispiele verwende ich [[vba:functions:print_r:index]]
In dem Beispiel mache ich aus dem folgenden Text einen technischen Namen
Bücherpreis [CHF]
bei Sofortkauf!!!'Standard. Mit UpperCase und _ als Delemiter
d techName("Bücherpreis [CHF]" & vbcrlf & "bei Sofortkauf!!!")
'BUECHERPREIS_CHF_BEI_SOFORTKAUF'
'Auf 15 Zeichen abgeschnitten
d techName("Bücherpreis [CHF]" & vbcrlf & "bei Sofortkauf!!!", 15)
'BUECHERPREIS_CH'
'Lowercase und als Trennzeichen ein -
d techName("Bücherpreis [CHF]" & vbcrlf & "bei Sofortkauf!!!",,vbLowerCase, "-")
'buecherpreis-chf-bei-sofortkauf'
'ProperCase. Standarddelmiter ist den dem Fall "". Ergibt also ein CamelCase
d techName("Bücherpreis [CHF]" & vbcrlf & "bei Sofortkauf!!!",,vbProperCase)
'BuecherpreischfBeiSofortkauf'
===== Code =====