User Tools

Site Tools


vba:cast:cstrf

This is an old revision of the document!


[VBA] cStrF

Erweiterter CStr()

Version 1.0.0 21.06.2016

Download cstrf.bas (V-1.0.0)

Inteligentere Umsetzung des VBA-Befehls CStr. Die Funktion erkennt auch Objekte mit dem Interface IFormattable. Zudem sind diverse weitere Objekte/Typen abgedeckt.

Einstellungen

Im Code gibt es 2 Einstellungen, die die Möglchkeiten steuern. Da ich diese Funktion für mich geschrieben habe, habe ich auch einige Methoden und Objekte, die sin in meiner Library befinden zur Verfügung. Diese sind aber nicht zwingend. Mit den folgenden Einstellungen kann angegeben werden, ob die Module verfügbar sind.

Angabe, ob das Modul lib_json in diesem Projekt vorhanden ist oder nicht
#Const lib_json_exists = True

Das Interface IFormattable ist in diesem Projekt vorhanden
#Const IFormattable_exists = True

Definition

Public Function cStrF( _
        ByRef iValue As Variant, _
        Optional ByVal iparams As csfParams = csfListAsJson + csfNullAsEmpty, _
        Optional ByVal iDelemiter As String = ", " _
) As String

Paramterliste

* iValue Item das zu einem String geparst werden soll * iparams Paramter um das Verhalten von CStrF zu steuern * iDelemiter String

Enumerators

csfParams

Public Enum csfParams
    csfNon = 0                      'Kein Parameter aktiv
    csfListAsJson = 2 ^ 0           'Falls die Library lib_json die Listen (Array, Dictionary etc) als Json-String zurückgeben. Ansonsten als Werteliste mit Komma getrennt
    csfRegExpOnlyPattern = 2 ^ 1    'Bei einem Regexp nur den Pattern zurückgeben
    csfNullAsEmpty = 2 ^ 2          'Null und Nothing als Empty zurückgeben
 
    csfIsSubItem = 2 ^ 9            'Wird nur Intern benutzt
End Enum

Beispiele

? cStrF(DateTime())
#2016-06-23 11:35:33#
 
? cStrF(array(1,2,3))
[1,2,3]
 
? cStrF(array(1,2,3), csfNon, "#")
1#2#3
 
? cStrF(array(1,2,array(1,22,33)))
[1,2,[1,22,33]]
 
? cStrF(array(1,2,array(1,22,33)), csfNon)
1, 2, (1, 22, 33)

Code

Unable to display file "/vba/cast/cstrf.bas": It may not exist, or permission may be denied.

vba/cast/cstrf.1466675229.txt.gz · Last modified: 23.06.2016 11:47:09 by yaslaw