我认为我的情况截然不同。我正在尝试为我经常使用的基于 Excel 的程序编写自定义函数。主要问题是您无法在拥有函数和返回计算公式方面重用代码。所以我有了以下想法。我可以使用参数从 Excel 中提取数据,让 vb.net 将这些参数放入代码中,然后在 Excel 中对其进行评估。那我举个例子吧。
此代码将存在于 Excel 中名为“源代码”的定义名称中。
="宽度+{0}+高度+{1}"
如您所见,发生了两件事。
#1.我将整个公式变成一个字符串
#2.我正在为将要传入的两个参数插入一些“占位符”。
现在这两个参数也将被放置在定义的名称中
单元格 B1(参数 1)=1+1=2(可以在 Excel 中计算单元格)
单元格 C1(参数 2)=10+10=20(可以在 Excel 中计算单元格)
现在这里是函数发生的地方。
单元格 D1 =myformulaparsingfunction(Source_Code, Argument_1, Argument_2)
在 vb.net 后端,我将拉入 source_code 字符串,然后使用参数解析占位符。所以我会得到这样的东西......
="宽度+2+高度+20"
这就是我遇到问题的地方。当我解析公式时它仍然是一个字符串。我需要有一种方法告诉 Excel 将此字符串作为公式计算。如果你们中的任何人知道一种方法来做到这一点,或者也许有一种替代方法来实现我想要做的事情,我很愿意听到您的想法。希望上面的内容写得足够清楚,能够理解我想要使用这段代码的目的。提前致谢。
乔
最佳答案
您应该使用Evaluate
方法来获得您想要的结果。简短示例:
Dim xlApp As Excel.Application
Set xlApp = New Excel.Application
xlApp.Visible = False
MsgBox xlApp.Evaluate("=5+(10+6)*100")
xlApp.Quit
Set xlApp = Nothing
了解更多:http://www.xtremevbtalk.com/archive/index.php/t-177848.html
关于vb.net - 如何在vb.net中计算Excel公式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14923133/