У меня есть приложение, написанное на C ++, которое использует Excel для отображения данных. Также я написал надстройки для Excel в vsto.
Теперь я хочу отправить в мое приложение на С ++ событие о клике надстройки.
Чтобы добиться этого, я написал com интерфейс на C ++. И теперь я хочу установить объект для этого класса в vsto c # dll, чтобы я мог вызывать метод из моего приложения на c ++.
Excel::_ApplicationPtr &app;
CComObject<TestEvent> *obj = new CComObject<TestEvent>;
obj->Init(this);
variant_t v = static_cast<IDispatch *>(obj);
app->Run("SetEventSinkTest", v);
Могу ли я вызвать метод SetEventSinkTest, написанный на c ++ из моей библиотеки C #.
Я запустил процесс Excel из приложения c ++, в котором есть надстройка vsto, написанная на c #. Я хочу получить Excel click addin обратно в приложение c ++.
Для достижения этого у меня есть com объект класса TestEvent, указатель которого будет установлен в C # vsto dll. при событии addin click я выполню функцию из класса TestEvent, объект которой я хочу установить в проекте vsto c #.
Может это возможно в ком и всто
Я нашел решение для вызова Excel надстройки метода c ++ приложения, используя метод Excel :: _ Application :: Run.
Для этого нам сначала нужно написать надстройку автоматизации в библиотеке классов .net.
Сопротивление сборки сети, чтобы выставить этот метод надстройки автоматизации.
с этим мы можем напрямую вызвать надстройку автоматизации из C ++
Использование пользовательских функций C # .NET (UDF) в Excel
http://www.adamtibi.net/07-2012/using-c-sharp-net-user-defined-functions-udf-in-excel
Других решений пока нет …