FarPoint.Win.SpreadJ アセンブリ > FarPoint.Win.Spread.Model 名前空間 > ICustomFunctionSupport インタフェース : GetCustomFunctionEnumerator メソッド |
'Declaration Function GetCustomFunctionEnumerator() As IEnumerator
'使用法 Dim instance As ICustomFunctionSupport Dim value As IEnumerator value = instance.GetCustomFunctionEnumerator()
IEnumerator GetCustomFunctionEnumerator()
public class CubeFunctionInfo : FarPoint.CalcEngine.FunctionInfo { public override string Name { get { return "CUBE"; } } public override int MinArgs { get { return 1; } } public override int MaxArgs { get { return 1; } } public override object Evaluate (object[] args) { double num = FarPoint.CalcEngine.CalcConvert.ToDouble(args[0]); return num * num * num; } } public class MultiFunc : FarPoint.CalcEngine.FunctionInfo { public override string Name { get { return "MULTI"; } } public override int MinArgs { get { return 1; } } public override int MaxArgs { get { return 1; } } public override object Evaluate (object[] args) { double num = FarPoint.CalcEngine.CalcConvert.ToDouble(args[0]); return num * num; } } FarPoint.Win.Spread.Model.ICustomFunctionSupport cfs; System.Collections.IEnumerator se; cfs = (FarPoint.Win.Spread.Model.ICustomFunctionSupport)fpSpread1.ActiveSheet.Models.Data; cfs.AddCustomFunction(new CubeFunctionInfo()); cfs.AddCustomFunction(new MultiFunc()); fpSpread1.ActiveSheet.SetFormula(1, 1, "CUBE(4)"); fpSpread1.ActiveSheet.SetFormula(2, 2, "MULTI(10)"); se = cfs.GetCustomFunctionEnumerator(); listBox1.Items.AddRange(new Object[] {se.MoveNext().ToString(), se.Current.ToString(), se.MoveNext().ToString(), se.Current.ToString()});
Public Class CubeFunctionInfo Inherits FarPoint.CalcEngine.FunctionInfo Public Overrides ReadOnly Property Name() As String Get Return "CUBE" End Get End Property Public Overrides ReadOnly Property MinArgs() As Integer Get Return 1 End Get End Property Public Overrides ReadOnly Property MaxArgs() As Integer Get Return 1 End Get End Property Public Overrides Function Evaluate(ByVal args() As Object) As Object Dim num As Double = FarPoint.CalcEngine.CalcConvert.ToDouble(args(0)) Return num * num * num End Function End Class Public Class MultiFunc Inherits FarPoint.CalcEngine.FunctionInfo Public Overrides ReadOnly Property Name() As String Get Return "MULTI" End Get End Property Public Overrides ReadOnly Property MinArgs() As Integer Get Return 1 End Get End Property Public Overrides ReadOnly Property MaxArgs() As Integer Get Return 1 End Get End Property Public Overrides Function Evaluate(ByVal args() As Object) As Object Dim num As Double = FarPoint.CalcEngine.CalcConvert.ToDouble(args(0)) Return num * num End Function End Class Dim cfs As FarPoint.Win.Spread.Model.ICustomFunctionSupport Dim se As System.Collections.IEnumerator cfs = FpSpread1.ActiveSheet.Models.Data cfs.AddCustomFunction(New CubeFunctionInfo()) cfs.AddCustomFunction(New MultiFunc()) FpSpread1.ActiveSheet.SetFormula(1, 1, "CUBE(4)") FpSpread1.ActiveSheet.SetFormula(2, 2, "MULTI(10)") se = cfs.GetCustomFunctionEnumerator() ListBox1.Items.AddRange(New Object() {se.MoveNext().ToString(), se.Current().ToString(), se.MoveNext().ToString(), se.Current().ToString()})