version=2.0.1 vdate=22.12.2016 fname=cast_cast.bas ns=%NAMESPACE% fpath=/vba/cast {{keywords>vba,cast}} {{description>Diese Funktion erstellt auf verschiedene Arten ein Dictionary. V-%%version%%}} ====== [VBA] cast() ====== //Eine Funktion die anhand der %%VarTypes%% versucht ein Wert zu casten. Diese Funktion ist nicht für Objekte geeignet. // ==Version %%version%% %%vdate%%== {{%%fname%%|Download %%fname%% (V-%%version%%)}} ===== Definition ===== boolean = cast(vbVarType, value [,Strong]) Public Function cast( _ ByVal iType As VbVarType, _ ByVal iVar As Variant, _ Optional ByVal iStrong As Boolean = False _ ) As Variant ===== Beispiele ===== > Für die Ausgabe der Resultate verwendete ich die Funktion [[vba:functions:print_r:index]] d cast(vbInteger, "123.45") 123 'Versuch misslungen. Der Originalwert wird zurückgehen d cast(vbInteger, "ABC") 'ABC' 'Dasselbe aber mit Strong d cast(vbInteger, "ABC", true) --> Verursacht einen Error 13 Type mismatch '0, leerer String, Empty und Null können zu Null oder Empty konvertiert werden d cast(vbNull, 0) d cast(vbEmpty, NULL) 'Boolean sind ebenfalls möglich d cast(vbBoolean, 1) True 'Ein einzelner Wert in ein Array wandeln d cast(vbArray, 12) ( [0] => 12 ) 'Ein Array in ein Array wandeln d cast(vbArray, array(11, 12)) ( [0] => 11 [1] => 12 ) 'cast() führt auch zusätzlich ein NZ() aus d cast(vbInteger, Null) 0 ===== Code =====