3

c#, ExcelDNA, in my UDF, I want to pass a range of cells, MyUDF(A1:A2)

I tried MyUDF(object param1), if I type in myUDF(A1:A2), the MyUDF is never called I also tried MyUDF(string param1), MyUDF(string[] param1) neither works.

What type of the parameter should be? thanks

4

1 回答 1

6

该格式public static object MyUDF(object param1) {...}应该可以正常工作,并且您的公式=MyUDF(A1:A2)将传入一个对象数组,其中包含这些单元格中的值。

如果您想允许参数是对传入范围的引用,您可以将其声明为

public static object MyUDF(
    [ExcelArgument(AllowReference=true)] object param1) {...}

额外的属性告诉 Excel 在调用时传递实际引用=MyUDF(A1:A2)- 引用将是 type ExcelDna.Integration.ExcelReference,您可以从中获取值或进一步调用 Excel API 以获取地址或任何内容。

于 2012-09-26T10:15:51.643 回答