【问题标题】:How do I call a VSTO function from a formula in excel?如何从 Excel 中的公式调用 VSTO 函数?
【发布时间】:2013-02-08 17:42:34
【问题描述】:

我希望能够从 Excel 工作表中的单元格调用由 VSTO 插件公开的函数。更具体地说,如果我有一个返回“bar”的 VSTO 函数 Foo(),我希望能够在 A1 中编写 =Foo(),其计算结果为“bar”。

这可能吗?我需要采取哪些关键步骤?

能够利用托管代码和 VS08 IDE 进行 excel 开发的前景非常吸引人。我以为 VSTO 可以让我轻松做到这一点,但我不再确定。我误解了这里的架构吗?文档有点粗制滥造。

【问题讨论】:

    标签: excel ms-office vsto


    【解决方案1】:

    Excel-DNA(我开发的)是一个开源项目,允许您按照您的描述为 Excel 创建用户定义的工作表函数 (UDF)。

    使用 Excel-DNA,您还可以制作功能齐全的 Excel 插件,包括功能区自定义、宏、异步函数和 RTD 服务器。 Excel-DNA 使用原生 Excel XLL 接口与 Excel 集成,因此与基于 COM 集成的解决方案相比,您也可以获得非常好的性能。

    【讨论】:

      【解决方案2】:

      我不相信您可以直接这样做,尽管您可以使用 VBA 包装器,例如参见 http://blogs.msdn.com/pstubbs/archive/2004/12/31/344964.aspx。

      您还可以使用ManagedXll 等第三方产品在托管代码中创建 Excel UDF。

      【讨论】:

        【解决方案3】:

        我认为您可以使用 COM 互操作。这是一个网页,我在其中看到了描述的过程。

        http://www.cpearson.com/excel/creatingnetfunctionlib.aspx

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2014-08-04
          • 2018-07-08
          • 2018-08-18
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2023-01-16
          相关资源
          最近更新 更多