У меня есть следующий код в VBA (который находится в книге Excel 2007):
Public Function Multiply(a As Double, b As Double) As Double
Multiply = a * b
End Function
Если я вызываю Multiply из другого кода VBA, он возвращает правильное значение. Однако, когда я звоню Multiply из C #:
var excel = new Application {Visible = true};
excel.Workbooks.Open(filename);
var returned = excel.Run("Sheet1.Multiply", (Double) a, (Double) b);
... происходит умножение (я могу убедиться в этом, добавив трассировку в функцию Multiply в VBA), но возвращенное значение не доступно в моем коде C #; returned
всегда null
.
Может кто-нибудь сказать мне, как получить возвращаемое значение Multiply из моего кода C #?