Как вызвать функцию Excel VSTO из внешнего приложения? - PullRequest
1 голос
/ 17 января 2012

Я ищу способ автоматизировать решение на уровне документа Excel VSTO, которое будет вызываться из внешнего приложения, аналогично подходу VBA, например "xlApp.Run (" WorkBook "," MacroName "), который мы используем для Решения для автоматического сопряжения VBA. Поскольку это будет решение на уровне документов, удаленное взаимодействие или веб-службы не являются вариантами. Я использую VSTO 2010 и Framework 4 для версий Excel 2007 и 2010.

Скажем, у меня есть решение на уровне документа с рабочей книгой под названием "TestBook", которая содержит класс VSTO "MyClass" со статической функцией "GetData (строковое соединение)". Я ищу способ сделать вызов GetData. функция, из внешнего приложения. Само решение будет загружено в Excel внешним приложением, также используя метод Application.Workbooks.Open.

Подводя итог: я пытаюсь найти способ получить ссылку на объект (в идеале) и сделать вызов функции из решения уровня документа после его загрузки. Я пробую оба способа, такие как (Внешнее приложение) -> (Надстройка) -> (Объект уровня документа), но маршрут (Внешнее приложение) -> (Объект уровня документа) будет идеальным.

Любые указатели будут с благодарностью.

1 Ответ

1 голос
/ 05 февраля 2012

Я подозреваю, что вам нужно пойти по-другому ...

Вызов метода так, как вы хотите, может прибегнуть к чему-то, называемому «Надстройка COM-автоматизации», и реализовать UDFway.

Затем вы можете просто разместить вызов вашего метода как формулы внутри любой продажи этой книги - Excel оценивает эту формулу, вызывая вашу реализацию.Вы даже можете попросить Excel переоценить его.

Другой вариант может заключаться в создании функциональности в виде так называемого RTD-сервера, на который есть ссылки в вашей книге ...

Для получения дополнительной информации см.эти ссылки:

...