Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何将Excel参数元素添加到VSTO加载项?_C#_Winforms_Excel_Vsto - Fatal编程技术网

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

C# 如何将Excel参数元素添加到VSTO加载项?,c#,winforms,excel,vsto,C#,Winforms,Excel,Vsto,我想将Excel参数元素(如默认函数、UDF等中允许手动选择单元格的元素)实现到VSTO加载项 我已经尝试了ExcelDNA的excelffunction-Excel参数,但是我需要返回一个长度未知的2D数组,而不仅仅是一个单元格,因此这不是解决方案 我尝试了Office外接程序元素,但我需要能够手动选择范围并将它们发送到外接程序子窗体,而且我还不知道如何停用子窗体,使其保持显示状态,激活Excel窗口,获取数据,然后将其发送回子窗体 有没有办法获得ExcelArgument元素的类似功能?一种

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

我已经尝试了ExcelDNA的excelffunction-Excel参数,但是我需要返回一个长度未知的2D数组,而不仅仅是一个单元格,因此这不是解决方案

我尝试了Office外接程序元素,但我需要能够手动选择范围并将它们发送到外接程序子窗体,而且我还不知道如何停用子窗体,使其保持显示状态,激活Excel窗口,获取数据,然后将其发送回子窗体


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

一种方法是生成一个返回数组的用户定义函数,然后将其包装在自动调整大小的宏中。示例中有这样一个宏

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

如果要使用WinForms创建表单或对话框,以便用户选择输入,然后将数据粘贴到工作表中,则需要一个“RefEdit”控件来进行范围选择。两个例子是和。
您也可以搜索“RefEdit WinForms”以获得更多选择。

谢谢您的建议,我会尝试的。