Range.Value2&Range.Formula在C#中有不同的值,而不是VBA?

我想创build一个像GetPath(parameter)UDF ,其中参数可以是像"B1"这样的单元格引用,也可以是GetPath根据input做的string,它将调用Web服务来获取input的path,例如公式单元格A1=GetPath(B1) ,单元格B1有一些string,函数应该返回path并放在单元格A1中,即A1的"Value2"应该是B1的path。

现在在C#中,当我做了FormulaCell.Value2 = path ,它的公式也改变了,但是我想“Formula”和“Value2”是不同的。

我知道这是可能的VBA,但我使用C#。

任何人都知道如何做到这一点?

谢谢

我GOOGLE,谷歌search,仍然没有find解决办法。 这听起来像一个基本的function,但在C#中是不可能的。 至less这是我通过研究得到的。 我相信你们中有些人以前遇到同样的问题,只是想知道你是如何解决的?

我将在VB.NET中尝试这个,如果这样的话我会用C#来引用它。 如果有人知道在VB.NET,请也张贴。 谢谢

我的插件是COM AddIn,不可能有range.value2不同于range.formula,不pipe它是C#还是VB.NET。

这可以使用VBA,.NET中的Automation AddIn或者xll插件来完成。 对于xll插件,您可以使用C / C ++编写,也可以使用ExcelDNA,managedXLL,XLW等现有工具。