The FunctionValue class is used to pass arguments in and get results from custom functions.

 public class FunctionValue
Public Class FunctionValue
public FunctionValue CustomFunction(IList<FunctionValue> args, Cell currentCell)
{
    StringBuilder result = new StringBuilder("");
    
    // Iterate over the list of FunctionValues passed in
    foreach (FunctionValue arg in args)
        if (arg.Type != FunctionValueType.RANGE)
            result.Append(arg.Value);
    
    // Create a new FunctionValue to return as the result
    return new FunctionValue(result.ToString());
}
Public Function CustomFunction(args As IList(Of FunctionValue), currentCell As Cell) As FunctionValue
	Dim result As New StringBuilder("")

    ' Iterate over the list of FunctionValues passed in
	For Each arg As FunctionValue In args
		If arg.Type <> FunctionValueType.RANGE Then
			result.Append(arg.Value)
		End If
	Next

    ' Create a new FunctionValue to return as the result
	Return New FunctionValue(result.ToString())
End Function

Name

Description

Value

Type

Name

Description

FunctionValue(String)

FunctionValue(Boolean)

FunctionValue(Double)
FunctionValue(Range)

Name

Description

FunctionValue.Null

A static FunctionValue representing null.
FunctionValue.TrueA static FunctionValue representing true.
FunctionValue.FalseA static FunctionValue representing false.
FunctionValue.Div0ErrorOccurs when a number is divided either by zero (0) or by a cell that contains no value.
FunctionValue.ValueErrorOccurs when incorrect value type was passed into a function.
FunctionValue.NameErrorOccurs when text in a formula is not recognized.
FunctionValue.NumErrorOccurs with invalid numeric values in a formula or function.
FunctionValue.NullErrorOccurs when you specify an intersection of two areas that do not intersect.
FunctionValue.RefErrorOccurs when a cell reference is not valid.
FunctionValue.NAErrorOccurs when a value is not available to a function or formula.