Как я могу использовать классы из VisualBasic-Express в VBA для проектов Excel или Access?

StackOverflow https://stackoverflow.com/questions/86027

Вопрос

Я сохранил свой код VB-Express как .dll, зарегистрировал его в regasm и создал файл .tlb.

Но когда я пытаюсь запустить функцию из него в Excel-модуле, я получаю: Ошибка времени выполнения ‘453’:Не удается найти точку входа DLL RegisterServiceProcess в kernel32

Какой шаг я пропустил?

Это было полезно?

Решение

Видишь http://richnewman.wordpress.com/2007/04/15/a-beginner’s-guide-to-calling-a-net-library-из-excel/ или, еще лучше, попробуйте ExcelDNA ( http://groups.google.com/group/ExcelDna )

Другие советы

Я думаю, вы создаете .Net dll и пытаетесь вызвать ее из среды, ориентированной на COM (VBA), которая не будет работать без посторонней помощи.Если я правильно догадываюсь, то вам нужно исследовать элементы COM-взаимодействия .Net:Google выдает множество многообещающих ссылок, одна из которых эта статья.

Это выглядит немного неприятно, но я ожидаю, что эту гадость можно где-нибудь спрятать...

Попробуйте эту статью из Базы знаний Microsoft: Не удается запустить макрос, вызывающий 16-разрядную библиотеку DLL в 32-разрядном MS Excel.

Есть ли у вас надлежащие права на доступ к библиотеке DLL?

Спасибо всем за вклад, вы помогли мне сделать еще один большой шаг вперед.Следуя предоставленным вами руководствам, я получил: Ошибка во время выполнения:'-2147024894' (80070002)':Имя файла или сборки AssemblyName или одна из его зависимостей не были найдены.

Но я мог бы исправить это с помощью этого Обходной путь.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top