C#,ExcelDNA,在我的UDF中,
我想传递一系列单元格MyUDF(A1:A2)

我尝试了MyUDF(object param1),如果我键入myUDF(A1:A2),则永远不会调用MyUDF
我也尝试了MyUDF(string param1),MyUDF(string [] param1)都行不通。

参数应为哪种类型?谢谢

最佳答案

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

如果要允许该参数作为对传入范围的引用,则可以将其声明为

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


extra属性告诉Excel在称为=MyUDF(A1:A2)时传递实际的引用-引用的类型为ExcelDna.Integration.ExcelReference,您可以从中获取值或进一步调用Excel API以获取地址或其他内容。

09-27 19:00