Wednesday, October 29, 2008

LotusScript equivalents for the @Subset

Function Subset(array As Variant, n As Integer) As Variant
'Eqiv to @Subset
Dim retVal As Variant
Dim i As Integer
If Not Isarray(array) Then
Subset = array
Exit Function
End If
If n = 0 Then
Subset = ""
Exit Function
End If
If Abs(n) >= (Ubound(array) - Lbound(array) + 1) Then
Subset = array
Exit Function
End If
If n > 0 Then
Redim retVal(Lbound(array) To (Lbound(array) + n - 1)) As Variant
Else
Redim retVal((Ubound(array) - Abs(n) + 1) To Ubound(array)) As Variant
End If
For i = Lbound(retVal) To Ubound(retVal)
retVal(i) = array(i)
Next
Subset = retVal
End Function

1 comment:

Unknown said...

Not the approach I would take. You can refer to any value in an array without any fuss.

Dim value As Variant
value(0) = 1
value(1) = 2
x = value(1)
'result is that x is equal to 2.