MESCIUS SPREAD for ASP.NET 10.0J
GetValue メソッド (CalcReference)

行インデックス
列インデックス
セルまたは範囲参照の指定した位置の値を取得します。
構文
'Declaration
 
Public MustOverride Function GetValue( _
   ByVal row As Integer, _
   ByVal column As Integer _
) As Object
public abstract object GetValue( 
   int row,
   int column
)

パラメータ

row
行インデックス
column
列インデックス

戻り値の型

値を含むObject
次のサンプルコードは、カスタム関数を作成します。
public class Cube : FarPoint.CalcEngine.FunctionInfo 
    { 

        public override string Name 
        { 
            get 
            { 
                return "Cube"; 
            } 
        } 

        public override int MaxArgs 
        { 
            get 
            { 
                return 1; 
            } 
        } 

        public override int MinArgs 
        { 
            get 
            { 
                return 1; 
            } 
        } 

        public override bool AcceptsReference(int i) 
        { 
            if (i == 0) 
            { 
                return true; 
            } 
            else 
            { 
                return false; 
            } 
        } 

        public override object Evaluate(object[] args) 
    { 
        double total; 
        FarPoint.CalcEngine.CalcReference cellref; 
        object value; 
        if (args[0] is FarPoint.CalcEngine.CalcArray) 
    { 
        return FarPoint.CalcEngine.CalcError.Value; 
    } 
    if (args[0] is FarPoint.CalcEngine.CalcReference) 
{ 
    cellref = ((FarPoint.CalcEngine.CalcReference)(args[0])); 
    if (cellref.ColumnCount > 1 | cellref.RowCount > 1) 
{ 
    return FarPoint.CalcEngine.CalcError.Value; 
} 
    value = cellref.GetValue(cellref.Row, cellref.Column); 
    try 
{ 
    total = Math.Pow(FarPoint.CalcEngine.CalcConvert.ToDouble(args[0]), 3); 
} 
    catch 
{ 
} 
} 
    else 
{ 
    try 
{ 
    total = Math.Pow(FarPoint.CalcEngine.CalcConvert.ToDouble(args[0]), 3); 
} 
    catch 
{ 
} 
} 
    return total; 
} 
}
Public Class Cube 
Inherits FarPoint.CalcEngine.FunctionInfo 

Public Overrides ReadOnly Property Name() As String 
Get 
Return "Cube" 
End Get 
End Property 

Public Overrides ReadOnly Property MaxArgs() As Integer 
Get 
Return 1 
End Get 
End Property 

Public Overrides ReadOnly Property MinArgs() As Integer 
Get 
Return 1 
End Get 
End Property 

Public Overrides Function AcceptsReference(ByVal i As Integer) As Boolean 
If i = 0 Then 
Return True 
Else 
Return False 
End If 
End Function 

Public Overrides Function Evaluate(ByVal args() As Object) As Object 
Dim total As Double 
Dim cellref As FarPoint.CalcEngine.CalcReference 
Dim value As Object 
If TypeOf args(0) Is FarPoint.CalcEngine.CalcArray Then Return FarPoint.CalcEngine.CalcError.Value 
If TypeOf args(0) Is FarPoint.CalcEngine.CalcReference Then 
cellref = CType(args(0), FarPoint.CalcEngine.CalcReference) 
If cellref.ColumnCount > 1 Or cellref.RowCount > 1 Then Return FarPoint.CalcEngine.CalcError.Value 
value = cellref.GetValue(cellref.Row, cellref.Column) 
Try 
total = FarPoint.CalcEngine.CalcConvert.ToDouble(value) ^ 3 
Catch 
End Try 
Else 
Try 
total = FarPoint.CalcEngine.CalcConvert.ToDouble(args(0)) ^ 3 
Catch 
End Try 
End If 
Return total 
End Function 
End Class 
参照

CalcReference クラス
CalcReference メンバ

 

 


© MESCIUS inc. All rights reserved.