首页 文章

注册com dll以供vba使用

提问于
浏览
1

我有一个非常基本的问题 . 我开发了一个可以从Access vba使用的com dll . 在我的开发机器上工作得很好 . 在测试机器上,我得到了

"error -2147024894 (80070002) Automation Error
System can't find the specified file"

我运行Access应用程序时的消息 .

在设计视图中,引用了dll,并且所有对象和属性都显示在vba ide中 .

我想知道我是否使用错误的regasm来注册dll?我使用VS 2010在64位机器上开发 .

我编译dll以在Framework 3.5中的x86上运行 . 我应该使用框架v2 . o.50727或Framework \ v4.0.30319注册dll . 我不清楚有什么区别 . 使用的版本是由VS的开发版本还是由您编译的.NET版本决定的?一个用于32位而另一个用于64位吗?

我已经争取了2天并取得了一些进展但是无法让Access例程在运行时实际设置dll的实例 .

在此先感谢您的任何帮助 .

3 回答

  • 0

    如果您在v3.5下编译,则应该使用该regasm . 但是,我认为您可能需要添加/ tlb和/ codebase开关以生成可在vba应用程序中使用的类型库 . 然后你可以引用.tlb文件,你应该是金色的 .

  • 1

    您需要使用 regsvr32 注册COM dll,以便从VBA引用它 .

  • -2

    VBA使用COM DLL . 您必须使用C,而不是.Net框架 .

相关问题