Могу ли я вызвать метод C # dll, используя Excel :: _ Application :: Run

У меня есть приложение, написанное на 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 #.

Может это возможно в ком и всто

0

Решение

Я нашел решение для вызова 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

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]