如何将Excel参数元素添加到VSTO加载项?

时间:2014-05-28 14:16:50

标签: c# winforms excel vsto

我想在 VSTO加载项中实现 Excel参数元素(如默认函数中的那个,UDF等允许手动选择单元格)

我已经尝试了 Excel-DNA ExcelFunction - ExcelArgument ,但是我需要返回一个长度未知的2D数组,而不是只有一个单元格,所以这不是解决方案。

我已经尝试了Office加载项元素,但我需要能够手动选择范围并将它们发送到加载项子窗体,我还没弄清楚如何停用该子项表单显示,激活Excel窗口,获取数据,然后将其发送回子表单。

有没有办法获得ExcelArgument元素的类似功能?

1 个答案:

答案 0 :(得分:0)

一种方法是创建一个返回数组的用户定义函数,然后将其包装在自动调整大小宏中。 Excel-DNA样本中有ArrayResizer这样的宏。

然后你可以说=Resize(MyArrayFunction(A1:B5)),它会自动调整到正确的结果大小。或者您可以直接将调整大小合并到MyArrayFunction中。

如果您想使用WinForms创建一个表单或对话框供用户选择输入,然后将数据粘贴到工作表中,则需要一个“RefEdit”'控制进行范围选择。两个示例是http://blogs.msdn.com/b/gabhan_berry/archive/2008/06/12/net-refedit-control.aspxhttp://www.codeproject.com/Articles/34425/VS-NET-Excel-Addin-Refedit-Control。 您还可以搜索" RefEdit WinForms"获得更多选择。