'/** ' * Convertiert ein Array in ein Variant-Array ' * @ressource isInteger http://wiki.yaslaw.info/dokuwiki/doku.php/vbvbafunctions#isinteger ' * @ressource isDouble http://wiki.yaslaw.info/dokuwiki/doku.php/vbvbafunctions#isdouble ' * @param Array<> ' * @param Boolean Flag ob versucht werden soll, die Werte zu casten ' * @return Array ' */ Public Function array2Var(ByRef iArray As Variant, Optional ByVal iCast As Boolean = True) As Variant() Dim i Dim ret() As Variant On Error Resume Next ReDim ret(LBound(iArray) To UBound(iArray)) For i = LBound(iArray) To UBound(iArray) If IsObject(iArray(i)) Then 'Objekt Set ret(i) = CVar(iArray(i)) ElseIf iCast And isInteger(iArray(i)) Then 'Integer ret(i) = CInt(iArray(i)) ElseIf iCast And isDouble(iArray(i)) Then 'Double ret(i) = CDbl(iArray(i)) ElseIf iCast And IsDate(iArray(i)) Then 'Datum ret(i) = CDate(iArray(i)) Else 'String, Variant und der ganze Rest ret(i) = CVar(iArray(i)) End If Next i array2Var = ret End Function