У нас есть работающее приложение, которое запускается с использованием C# и ДНК Excel для создания функций, которые обращаются к веб-службе Java в удаленном месте (с использованием RTD-сервера).
Это приложение работало нормально, пока мы не добавили необязательные параметры в одну из наших функций (я действительно не знаю, связана ли проблема с необязательными параметрами, мы внесли другие изменения, пока не выявили эту проблему).
У меня есть что-то вроде приведенного ниже кода (к сожалению, мне пришлось изменить имена функций и параметров):
[ExcelFunction(Description = "XXXXX", Name = "FUNCTION", IsVolatile = true)]
public static object[,] Function(
[ExcelArgument(Description = "XXXX", Name = "paramA")]
string paramA,
[ExcelArgument(Description = "XXXX", Name = "paramB")]
string paramB,
[ExcelArgument(Description = "XXXX", Name = "paramC")]
string paramC,
[ExcelArgument(Description = "XXXX", Name = "optional")]
params string[] optional)
{
...
}
В первый раз, когда я вызываю эту функцию, она всегда работает в первый раз. Но если я что-то изменю в значениях параметров, он перестанет работать. Что случилось? Строка, вызывающая функцию, просто превращается в одну строку.
=FUNCTION("aaa";"bbb";"ccc")
по значению ячейки.
Кто-нибудь знает, как избежать такого поведения? Я не опытный офис или даже разработчик .Net, поэтому я мог пропустить некоторую важную информацию о проблеме. Не стесняйтесь спрашивать любую другую информацию.