Вызовите метод VB в C #, используя Interop - PullRequest
0 голосов
/ 10 сентября 2010

Хорошо, вот ситуация: у меня есть макрос Microsoft Excel в VB, который я хочу вызвать с помощью C #.Я уже пытался создать книгу с использованием Microsoft.Office.Interop.Excel, однако я не хочу запускать процесс Excel для запуска макроса.

Итак, я подумал, почему бы не создать библиотеку классов vb с моим кодом, чтобы я все еще мог ее запустить и иметь чистый файл dll.Нет необходимости сохранять какие-либо связанные с листом функции, поскольку макрос читает текстовый файл .lua (UTF-8) с некоторыми расширенными функциями регулярного выражения, которые я просто не могу воссоздать в C #.

Могу ли я заставить библиотеку также использовать взаимодействие, чтобы я мог просто вызвать функцию в моем C #?Любые примеры будут с благодарностью.

Ответы [ 2 ]

0 голосов
/ 20 апреля 2012

Я заметил эти два утверждения:

Я не хочу запускать процесс Excel для запуска макроса

и

макрос читает текстовый файл .lua (UTF-8) с некоторыми расширенными функциями регулярных выражений, которые я просто не могу воссоздать в C #

Эти две цели несовместимы.Макрос использует функции Excel для запуска.Единственный способ, предоставленный Microsoft, - полностью загрузить приложение Excel.Нет способа запустить только макрос.

0 голосов
/ 10 сентября 2010

Сначала я предполагаю, что вы работаете с VB6, а не с VB Script?

Я никогда не работал с VB 6 или более ранней версией, но я думаю, что вам лучше всего будет создать COM-объект, а затем вы можете вызывать COM-объект из .NET с помощью C #.Вот быстрая ссылка, которую я нашел через BING и которая, как я полагаю, поможет вам начать работу, если эта опция вам подходит.

Пошаговое руководство. Реализация наследования с помощью COM-объектов (Visual Basic)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...