MESCIUS SPREAD for Windows Forms 17.0J
AddCustomFunction メソッド (DefaultSheetDataModel)

追加するユーザー定義関数を含む FunctionInfo オブジェクト
ユーザー定義の新しいカスタム関数を数式で使用するためモデルに追加します。
構文
'Declaration
 
Public Sub AddCustomFunction( _
   ByVal functionInfo As FunctionInfo _
) 
public void AddCustomFunction( 
   FunctionInfo functionInfo
)

パラメータ

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
参照

DefaultSheetDataModel クラス
DefaultSheetDataModel メンバ

 

 


© MESCIUS inc. All rights reserved.