我想在 VSTO加载项中实现 Excel参数元素(如默认函数中的那个,UDF等允许手动选择单元格)
我已经尝试了 Excel-DNA 的 ExcelFunction - ExcelArgument ,但是我需要返回一个长度未知的2D数组,而不是只有一个单元格,所以这不是解决方案。
我已经尝试了Office加载项元素,但我需要能够手动选择范围并将它们发送到加载项子窗体,我还没弄清楚如何停用该子项表单显示,激活Excel窗口,获取数据,然后将其发送回子表单。
有没有办法获得ExcelArgument元素的类似功能?
答案 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.aspx和http://www.codeproject.com/Articles/34425/VS-NET-Excel-Addin-Refedit-Control。 您还可以搜索" RefEdit WinForms"获得更多选择。