vb.net - 如何在vb.net中计算Excel公式

标签 vb.net excel

我认为我的情况截然不同。我正在尝试为我经常使用的基于 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/

相关文章:

c# - 如果安全不是问题,那么不可变接口(interface)是一个好的模式吗?

asp.net - 如何在运行时添加数据时隐藏gridview的一列?

excel - OnKey "Delete"清除组合框

Excel Pivot - 给定范围内不同值的计数

jquery - JQuery Image Rotator 问题

vb.net - Tetravex求解算法

excel - 仅清除包含公式的单元格

excel - Excel 2016 中与特定月份相关的数据的小计平均值

vb.net - 捕获一般异常时,如何判断原始异常类型?

excel - 增强 excel 多个查找和替换脚本