Ссылка на сборку VBA в C # - PullRequest
       4

Ссылка на сборку VBA в C #

2 голосов
/ 05 сентября 2010

Как ссылаться на сборку VBA в приложении C # из Visual Studio 2010?

Не могу найти его в диалоговом окне «Добавить ссылку».

Вот причина, по которой мне это нужно:

Ошибка 1 Тип 'VBA.Collection' определен в сборке, на которую нет ссылок. Вы должны добавить ссылку на сборку «VBA, Версия = 6.0.0.0, Культура = Нейтральный, PublicKeyToken = null». ...

Ответы [ 3 ]

4 голосов
/ 05 сентября 2010

Существует множество версий VBA, интегрированных в различные приложения.Исходя из номера версии, я предполагаю, что вам нужно использовать Project + Add Reference, вкладку Browse, выбрать c: \ windows \ system32 \ msvbvm60.dll.Это модуль поддержки времени выполнения для VB6.Он действительно имеет класс Collection в пространстве имен VBA.

Попробуйте дважды проверить, был ли компонент записан в VB6.Развертывание может быть интересным.

1 голос
/ 05 сентября 2010

«Сборка» - это набор функций .NET, упакованных в общую DLL или EXE. VBA не является .NET, поэтому он не существует как сборка. Однако вы можете получить доступ к компонентам VBA через уровень взаимодействия COM.

Я думаю, что вы, вероятно, ищете, это

http://support.microsoft.com/?kbid=323737

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

Вам действительно не нужен тип VBA.Collection в C #, у вас есть намного лучшие доступные конструкции коллекций.Generic.List, Generic.Dictionary и т. Д., Если вы посмотрите на них, вы, скорее всего, найдете то, что вам нужно.

Они строго типизированы, поэтому вы не будете кастовать на другие типы.Если вам нужен тип VBA Variant, вы можете использовать HashTable.

...