使用 Excel DNA 将用 F# 编写的用户定义函数导入 VBA 子例程
Posted
技术标签:
【中文标题】使用 Excel DNA 将用 F# 编写的用户定义函数导入 VBA 子例程【英文标题】:Importing User-Defined Functions Written in F# Using Excel DNA Into VBA Subroutines 【发布时间】:2015-06-29 13:08:02 【问题描述】:我目前正在使用 Excel DNA 在 F# 中编写函数并将它们作为公式导入 Excel。 Whenever selecting a cell, I am able to call any of the functions imported through Excel DNA.但是,在尝试创建新宏时,我只能调用代码中的内置公式,而不能调用用户定义的公式。例如,如果我写如下:
Sub a()
Range("A1").Value = ActiveWorkbook.Application.WorksheetFunction.Sum(2, 3)
End Sub
宏能够在单元格 A1 中输入“5”。但是,如果我有一个通过 Excel DNA 导入的用 F# 编写的函数,则上述逻辑不适用,因为该函数未在 ActiveWorkbook.Application.WorksheetFunction 下列出。用户定义的函数/公式应该放在哪里?
【问题讨论】:
【参考方案1】:看看this tutorial。有几个步骤要完成。本教程使用 C#,但它应该同样适用于 F#。
【讨论】:
是的 - 这种基于 Excel-DMA ComServer 支持的方法是最好的。更简单一点就是调用myResult = Application.Run("MyFunction", param1, param2)
。以上是关于使用 Excel DNA 将用 F# 编写的用户定义函数导入 VBA 子例程的主要内容,如果未能解决你的问题,请参考以下文章