VSTO Excel Addin - Исключение в диапазоне настроек - PullRequest
0 голосов
/ 22 октября 2018

У меня есть надстройка Excel на основе VSTO с UDF на основе XLL.Мы внедрили RTD-сервер для обновления данных в реальном времени.Проблема, с которой я сталкиваюсь - это установка формул по диапазону.Я получаю следующее исключение:

Stacktrace в System.RuntimeType.ForwardCallToInvokeMember (String memberName, флаги BindingFlags, цель объекта, Int32 [] aWrapperTypes, MessageData & msgData)

в Microsoft.OfficeXP.Excel.Range.set_Formula (Object)

Я устанавливаю около 10000 или более формул для диапазонов Excel.Это происходит в блоках, устанавливающих формулу в виде двумерного массива

range.Formula = FormulaMatrix;// string [,] формулаMatrix -> [0,0] -> [1000,0]

Я могу обнаружить, что проблема в том, что Excel не может вызвать данные подключения RTD.Я попытался установить диапазон в блоках и создать задачу для каждого блока и запустить его в потоке пользовательского интерфейса с помощью контекста WinformsSynchronization.Я использовал доступный планировщик задач как

var scheduler = TaskScheduler.FromCurrentSynchronizationContext ();И запустил задачу на этом планировщике.

Но это еще больше усугубило проблему, и я получаю вышеупомянутое исключение чаще.Будем благодарны за любую помощь по вышеуказанному

...