1

我将我的 VB-Express 代码保存为 .dll 并使用 regasm 注册它并制作了一个 .tlb 文件。

但是当我尝试在 Excel 模块中运行它的函数时,我得到:运行时错误“453”:在 kernel32 中找不到 DLL 入口点 RegisterServiceProcess

我错过了哪一步?

4

4 回答 4

2

请参阅http://richnewman.wordpress.com/2007/04/15/a-beginner的 s-guide-to-calling-a-net-library-from-excel/ 或更好地尝试 ExcelDNA(http:// groups.google.com/group/ExcelDna )

于 2008-09-18T09:08:25.117 回答
1

我认为您正在创建一个 .Net dll 并试图从面向 COM 的环境 (VBA) 中调用它,如果没有帮助,这将无法工作。如果我猜对了,那么您需要研究 .Net 的 COM 互操作元素:Google 提供了许多看起来很有希望的链接,其中之一就是这篇文章

它看起来有点不愉快,但我希望这种肮脏可以藏在某个地方......

于 2008-09-17T21:55:06.497 回答
0

试试这篇 Microsoft 知识库文章:Can't Run Macro That Calls 16-bit DLL in 32-bit MS Excel

您是否具有访问 DLL 的适当权限?

于 2008-09-17T18:44:00.717 回答
0

感谢大家的投入,你帮助我更进一步。遵循您提供的指南后,我得到:运行时错误:'-2147024894' (80070002)':找不到文件或程序集名称 AssemblyName 或其依赖项之一。

但我可以用这个Workaround 解决这个问题。

于 2008-09-18T13:29:43.677 回答