0
一個excel DNA功能我到Excel DNA限定的c#
函數:通過REF傳遞參數給宏調用具有Application.Run
[ExcelFunction(Description = "does stuff", IsVolatile = false, IsMacroType = true, IsThreadSafe = true)]
public object AFunction(long k \* other parameters *\)
{
// do stuff
}
被稱爲在VBA如下:
Dim v As Variant
v = Application.Run("AFunction", k)
現在我修改我的Excel DNA c#
如下:
[ExcelFunction(Description = "Retrieves valo folio", IsVolatile = false, IsMacroType = true, IsThreadSafe = true)]
public object AFunction(ref double x, long k \* other parameters *\)
{
// do stuff
// update x
}
的想法是我會傳給它一個double
,它會被更新,並且我會在之後使用。
我在VBA稱之爲如下:
Dim v As Variant
v = Application.Run("AFunction", x, k)
但x
( 「銀幣」 as Double
)沒有更新。我嘗試了
Dim x() as Double
Redim x(1)
和
Dim v As Variant
v = Application.Run("AFunction", x(1), k)
但這裏也x(1)
沒有更新。
c#
中的ref
是否存在問題,或者是由Application.Run
引起的問題?
'Application.Run'不支持通過設計的byref參數。它將傳入的值包裝成變體並將它們傳遞給前端。 – GSerg
你可以把它放在答案中,以便我接受。無論如何。 –
相反,'CallByName'支持'byref'。有沒有一個類可以調用'CallByName'? – GSerg