MESCIUS SPREAD for Windows Forms 15.0J
GetCustomFunction メソッド (DefaultSheetDataModel)
使用例 

取得するユーザー定義のカスタム関数の名前
モデルからユーザー定義のカスタム関数を取得します。
構文
'宣言
 
Public Function GetCustomFunction( _
   ByVal name As String _
) As FunctionInfo
public FunctionInfo GetCustomFunction( 
   string name
)

パラメータ

name
取得するユーザー定義のカスタム関数の名前

戻り値の型

指定した名前のユーザー定義カスタム関数を含む FunctionInfo オブジェクト。存在しない場合は Null
解説
このメソッドは非推奨になりました。
使用例
次のサンプルコードでは、このメンバを使用して、モデルからユーザー定義のカスタム関数を返しています。
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 AddFunctionInfo : FarPoint.CalcEngine.FunctionInfo
    {
      public override string Name { get { return "ADD"; } }
      public override int MinArgs { get { return 1; } }
      public override int MaxArgs { get { return 1; } }
      public override object Evaluate (object[] args)
      {
        float num = FarPoint.CalcEngine.CalcConvert.ToInt(args[0]);
        return num + num;
      }
    }

FarPoint.Win.Spread.Model.DefaultSheetDataModel dataModel = new FarPoint.Win.Spread.Model.DefaultSheetDataModel(5, 5);
dataModel.AddCustomFunction(new CubeFunctionInfo());
dataModel.SetFormula(1, 1, "CUBE(4)");
dataModel.AddCustomFunction(new AddFunctionInfo());
dataModel.SetFormula(2, 2, "Add(10)");
fpSpread1.ActiveSheet.Models.Data = dataModel;

FarPoint.CalcEngine.FunctionInfo fi;
fi = dataModel.GetCustomFunction("CUBE");
listBox1.Items.Add(fi.MinArgs.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 AddFunctionInfo
   Inherits FarPoint.CalcEngine.FunctionInfo

   Public Overrides ReadOnly Property Name() As String
   Get
   Return "ADD"
   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 Single = FarPoint.CalcEngine.CalcConvert.ToInt(args(0))
   Return 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)")
dataModel.AddCustomFunction(New AddFunctionInfo())
dataModel.SetFormula(2, 2, "Add(10)")
FpSpread1.ActiveSheet.Models.Data = dataModel
FpSpread1.ActiveSheet.Models.Data = dataModel

Dim fi As FarPoint.CalcEngine.FunctionInfo
fi = dataModel.GetCustomFunction("CUBE")
ListBox1.Items.Add(fi.MinArgs.ToString())
参照

DefaultSheetDataModel クラス
DefaultSheetDataModel メンバ

 

 


© MESCIUS inc. All rights reserved.