FarPoint.Win.SpreadJ アセンブリ > FarPoint.Win.Spread.Model 名前空間 > DefaultSheetDataModel クラス : AddCustomFunction メソッド |
'Declaration Public Sub AddCustomFunction( _ ByVal functionInfo As FunctionInfo _ )
'使用法 Dim instance As DefaultSheetDataModel Dim functionInfo As FunctionInfo instance.AddCustomFunction(functionInfo)
public void AddCustomFunction( FunctionInfo functionInfo )
例外 | 説明 |
---|---|
System.ArgumentNullException | 関数が指定されていません。関数がNull参照です(Visual BasicのNothing)。 |
数式でのカスタム関数の使用の詳細については、「関数リファレンス」を参照してください。
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; } } FarPoint.Win.Spread.Model.DefaultSheetDataModel dataModel = new FarPoint.Win.Spread.Model.DefaultSheetDataModel(3, 3); dataModel.AddCustomFunction(new CubeFunctionInfo()); dataModel.SetFormula(1, 1, "CUBE(4)"); fpSpread1.ActiveSheet.Models.Data = dataModel;
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 Dim dataModel As New FarPoint.Win.Spread.Model.DefaultSheetDataModel(5, 5) dataModel.AddCustomFunction(New CubeFunctionInfo()) dataModel.SetFormula(1, 1, "CUBE(4)") FpSpread1.ActiveSheet.Models.Data = dataModel