FarPoint.Win.Spread アセンブリ > FarPoint.Win.Spread 名前空間 > SheetView クラス : GetCustomFunctionEnumerator メソッド |
'宣言
Public Function GetCustomFunctionEnumerator() As IEnumerator
public 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; } } System.Collections.IEnumerator se; fpSpread1.ActiveSheet.AddCustomFunction(new CubeFunctionInfo()); fpSpread1.ActiveSheet.AddCustomFunction(new MultiFunc()); fpSpread1.ActiveSheet.SetFormula(1, 1, "CUBE(4)"); fpSpread1.ActiveSheet.SetFormula(2, 2, "MULTI(10)"); se = fpSpread1.ActiveSheet.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 se As System.Collections.IEnumerator FpSpread1.ActiveSheet.AddCustomFunction(New CubeFunctionInfo()) FpSpread1.ActiveSheet.AddCustomFunction(New MultiFunc()) FpSpread1.ActiveSheet.SetFormula(1, 1, "CUBE(4)") FpSpread1.ActiveSheet.SetFormula(2, 2, "MULTI(10)") se = FpSpread1.ActiveSheet.GetCustomFunctionEnumerator() ListBox1.Items.AddRange(New Object() {se.MoveNext().ToString(), se.Current().ToString(), se.MoveNext().ToString(), se.Current().ToString()})