找回密码
 立即注册

QQ登录

只需一步,快速开始

taxsoft

中级会员

76

主题

246

帖子

608

积分

中级会员

积分
608

活字格认证微信认证勋章元老葡萄

taxsoft
中级会员   /  发表于:2012-7-14 16:51  /   查看:6111  /  回复:7
Spread 6 自定义公式,测试可行,但是没有使用参数
参数如何设置啊,比如AAA("参数")

Imports FarPoint.CalcEngine

Public Class CustomFormulas
    Inherits FunctionInfo

    Public _Name As String = String.Empty
    Public _MinArgs As Integer = 0
    Public _MaxArgs As Integer = 0

    Public Sub New(ByVal formulaName As String)
        _Name = formulaName
    End Sub

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

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

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

    Public Overrides Function Evaluate(ByVal args As Object()) As Object

       Return "OK"

    End Function

End Class

/////////////////////////////////////////

        Dim myFormulas As New TsGrid.CustomFormulas("AAA")
        myFormulas._Name = "AAA"

        Me.TsGridArea.ActiveSheet.AddCustomFunction(myFormulas)
        Me.TsGridArea.ActiveSheet.SetFormula(1, 1, "AAA()")

7 个回复

倒序浏览
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2012-7-16 10:21:00
沙发
参数处理主要是在Evaluate 方法中来进行,自定义公式中参数解析方法需要自己来编码实现。
回复 使用道具 举报
taxsoft
中级会员   /  发表于:2012-7-16 10:23:00
板凳
参数处理主要是在Evaluate 方法中来进行,自定义公式中参数解析方法需要自己来编码实现。
dof 发表于 2012-7-16 10:21:00


不太熟悉用法, 不说解析了,Return 参数 怎么实现?
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2012-7-16 10:32:00
地板
Exaluate返回值是一个Object,所以可以返回任意类型

关于参数解析方法和返回值的问题,不知你有没有看过文档中的【Creating and Using a Custom Function】章节,可以先参考一下

参数解析:参数本身是以数字的形式传入,如何数组中每一项应该如何解析,或者是转换为什么类型,是有你的需要决定的。

如果有需要,可以将你的例子发给我们调试。
回复 使用道具 举报
taxsoft
中级会员   /  发表于:2012-7-16 10:49:00
5#
Exaluate返回值是一个Object,所以可以返回任意类型

关于参数解析方法和返回值的问题,不知你有没有看过文档中的【Creating and Using a Custom Function】章节,可以先参考一下

参数解析:参数本身是以数字的形式传入,如何数组中每一项应该如何解析,或者是转换为什么类型,是有你的需要决定的。

如果有需要,可以将你的例子发给我们调试。
dof 发表于 2012-7-16 10:32:00


所说的文档是 “FarPoint.Win.Spread.6.0.chm”嘛?没有找到详细资料。
一楼有代码,分隔线下方是调用代码,我的意思是参数如何传入,一直没有写对, 比如公式 AAA(8) 如何调用,  然后如何返回8
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2012-7-16 10:58:00
6#
在开始菜单Spread目录中有一个【Spread help(CHM)】,以上章节在文档中的位置是:
【Developer's Guide】【Customizing Interaction in Cells】【Managing Formulas in Cells】【Creating and Using a Custom Function】
回复 使用道具 举报
taxsoft
中级会员   /  发表于:2012-7-16 11:59:00
7#
回复 6楼dof的帖子

谢谢!
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2012-7-19 16:02:00
8#
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部