3

在我看来,我有一个完全不同的情况。我正在尝试为我经常使用的基于 excel 的程序编写自定义函数。主要问题是您不能在拥有函数和返回评估公式方面重用代码。所以我有了以下想法。我可以使用参数从 excel 中提取数据,让 vb.net 将这些参数放在代码中,然后在 excel 中对其进行评估。所以让我举个例子。

此代码将存在于 excel 中称为“源代码”的定义名称中。 ="Width+{0}+Height+{1}" 正如你所看到的,有两件事正在发生。
#1。我正在将整个公式设为字符串 #2。我正在为将要传入的两个参数插入一些“占位符”。

现在这两个参数也将放在定义的名称中 Cell B1(参数 1)=1+1=2 (Cell can be evaluated in excel) Cell C1(参数 2)=10+10=20 (Cell can be evaluated in excel)

现在这里是函数发生的地方。单元格 D1=myformulaparsingfunction(Source_Code, Argument_1, Argument_2)

在 vb.net 后端,我将拉入 source_code 字符串,然后使用参数解析占位符。所以我会得到这样的东西...... ="Width+2+Height+20"

这就是我遇到问题的地方。当我解析公式时,它仍然是一个字符串。我需要有一种方法来告诉 excel 将此字符串作为公式进行评估。如果你们中的任何人知道这样做的方法,或者可能是实现我想要做的事情的替代方法,我愿意听取你的想法。希望以上内容写得足够清楚,以了解我要使用此代码的位置。提前致谢。

4

1 回答 1

4

你应该使用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

于 2013-02-17T17:10:10.413 回答