无法创建VB6 ActiveX dll

时间:2015-08-19 14:32:12

标签: com vb6 activex

我正在尝试创建一个简单的VB6 ActiveX exe并从Excel中调用它。

在VB6中,我使用所有默认设置创建一个名为BigTrev的ActiveX DLL项目。

我创建了一个名为Trev的MultiUse类,其中包含一个不包含代码的方法

Public Sub HelloWorld() 
End Sub

我创建了一个DLL并从命令行注册它(VB6也为我注册了,但我还是使用了cmd来完成它。)

然后它Excel我在新工作簿中创建对我的DLL的引用。它显然已被注册,因为Intellisense了解Trev和HelloWorld。

Sub cats()

    Dim derek As BigTrev.Trev
    Set derek = New BigTrev.Trev
    derek.HelloWorld

End Sub

它在Excel中编译,当我单步执行它时,它在第二行中失败,即Set 1。错误消息是“ActiveX组件无法创建对象”。

为什么呢?很多年前,当VB6被广泛使用时,我已经完成了这个或类似的负载,我现在使用的是Windows 7,而且我是我的盒子上的管理员。

1 个答案:

答案 0 :(得分:0)

我建议使用相关的regsvr32.exe注册DLL(如果这是你选择的方向,则为EXE)。在这种情况下,如果您要在64位环境中注册32位DLL,请使用隐藏在c:\ windows \ syswow64中的DLL。

可悲的是,我没有Excel(震惊,恐怖),而我所拥有的电子表格(LibreOffice)是32位。