我已经在C#中实现了一些复杂且计算量大的函数。为了在Excel中使用它,我已经通过Excel-DNA创建了一个Excel-AddIn。
现在,当我在Excel中调用该函数并开始输入值时,它甚至在我完成所有输入之前就开始计算。而且,当我单击该单元格并更改一些输入时,该函数也会重新计算。通常我不介意。但是由于性能低下,它变成了磨难
有没有办法抑制这种行为? (将计算设置为手动似乎不起作用)基本上,我只希望按F9时才(重新)计算Excel-DNA公式。
如果任何人有其他语言的解决方案,我都会很乐意将其用作启发并将其移植到C#。
最佳答案
根据Govert(XL DNA的作者),您可以执行以下操作:
您可以调用ExceDnaUtil.IsInFunctionWizard()进行检查。
所以你的功能可能会去:
public static object SlowFunction()
{
if (ExcelDnaUtil.IsInFunctionWizard()) return "!!! In Function
Wizard";
// do the real work....
}
值得关注Google XLDANA相关问题和解答的Excel DNA Google小组
https://groups.google.com/forum/#!forum/exceldna
关于c# - 如何在输入值时停止Excel-DNA函数的计算,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21304454/