我如何使用VBA中的VisualBasic-Express for Excel或Access项目?
我将我的VB-Express代码保存为.dll,并用regasm注册并创build了一个.tlb文件。
但是,当我尝试运行一个Excel模块中的函数时,我得到: 运行时错误'453':无法findDLL入口点在kernel32中的RegisterServiceProcess
我错过了什么步骤?
请参阅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 )
我想你正在创build一个.Net dll,并试图从一个面向COM的环境(VBA)调用它,这是不会没有帮助的工作。 如果我猜对了,那么你需要调查.NET的COM Interop元素:Google会抛出许多有前途的链接,其中之一是这篇文章 。
它看起来有点不愉快,但我认为这个肮脏的东西可能藏在某个地方…
请尝试此Microsoft知识库文章: 不能运行在32位MS Excel中调用16位DLL的macros 。
你有适当的权利来访问DLL?
感谢大家的意见,你们帮了我一大步。 遵循您提供的指南我得到: 运行时错误:'-2147024894'(80070002)':未find文件或程序集名称AssemblyName,或其依赖项之一。
但我可以解决这个解决方法 。
- 使用C#的Microsoft.Office.Interop.Excel生成具有预先设置的下拉值的Excel文件
- C#Excel互操作,在Excel的单元格文本中放置一个换行符
- 如何正确清理C#中的互操作对象
- 为什么我在使用FormulaArray的时候总是收到COMexception
- 如何将三个Excel工作表放在一个工作簿下
- 在Excel VBA中,如何将关键variables保存在“状态丢失”(不写入单元格或文件)?
- 为什么types化的.NET数组不是generics? (即SomeType != Array {SomeType})
- Microsoft.Office.Interop.Excel.ChartObject.Copy上未指定的错误(从HRESULTexception:0x80004005(E_FAIL))
- 使用.Net Interop从Excel获取DateTime值时缺less毫秒