Запуск форм и кода VBA из C # в базе данных Access 2003 - PullRequest
1 голос
/ 27 октября 2009

Почти то, что написано на банке. Я пытался погуглить, но не могу найти ничего полезного.

Я пытаюсь автоматизировать процесс, и часть этого включает запуск форм / кода VBA из базы данных Access 2003 Какой лучший способ вызвать их из C #?

Ответы [ 2 ]

1 голос
/ 27 октября 2009

Первичные сборки взаимодействия позволяют автоматизировать Access 2003 из вашего приложения C #. В частности, вы должны иметь возможность использовать такие команды, как DoCmd.OpenForm и DoCmd.RunCode, что позволяет запускать формы Access 2003 и код VBA.

0 голосов
/ 27 октября 2009

Создайте код VBA в отдельном COM dll, а затем вы можете использовать COM-взаимодействие для вызова из C #

Например, см. Вопрос SO: Использование библиотеки DLL из C # без библиотеки типов .

Экспонирование COM-компонентов в C #

Вы можете использовать компонент COM из C # проект. Общие шаги как следующим образом:

  1. Найдите COM-компонент для использования и зарегистрируйте его. Используйте regsvr32.exe для зарегистрировать или отменить регистрацию COM DLL.

  2. Добавить в проект ссылку на компонент COM или библиотеку типов.

Когда вы добавляете ссылку, Visual Studio использует Импорт библиотеки типов (Tlbimp.exe), который принимает тип библиотека в качестве входных данных, для вывода .NET Сборка взаимодействия рамок. сборка, также называемая временем выполнения вызываемая обертка (RCW), содержит управляемые классы и интерфейсы, которые обернуть COM-классы и интерфейсы которые находятся в библиотеке типов. визуальный Студия добавляет в проект ссылку к сгенерированной сборке.

  1. Создать экземпляр класса, который определен в RCW. Это в свою очередь, создает экземпляр объекта COM.

  2. Используйте объект так же, как вы используете другие управляемые объекты. Когда объект утилизируется сборкой мусора, экземпляр объекта COM также освобожден из памяти.

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