3

c#、ExcelDNA、UDFで、セルの範囲MyUDF(A1:A2)を渡したい

MyUDF(object param1)を試しましたが、myUDF(A1:A2)と入力すると、MyUDFが呼び出されません。MyUDF(string param1)も試しましたが、MyUDF(string [] param1)も機能しません。

パラメータのタイプはどのようなものにする必要がありますか?ありがとう

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)。参照はタイプExcelDna.Integration.ExcelReferenceになり、そこから値を取得したり、ExcelAPIをさらに呼び出してアドレスなどを取得したりできます。

于 2012-09-26T10:15:51.643 に答える