关于在vba里引用dll的有关问题

关于在vba里引用dll的问题
我在excel的vba里引用了vb.net 写的dll
里面其中一段代码如下:
VB.NET code

    Public Sub createdb(ByVal path As String)

        Dim createdatabase As New ADOX.Catalog
        Dim pstr As String
        pstr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + path + "\db.mdb"
        createdatabase.Create(pstr)
        'createdatabase.ActiveConnection = pstr
    End Sub


而这短代码需要用到ado组件, 而我在vb.net 里弄了个窗体去调用这个dll是正常的.

但当vba调用这个dll时 会出现错误





请问应该如何解决呢??

------解决方案--------------------
重新注册一下试试
------解决方案--------------------
也许是调用方式不兼容。

VBA 好象只能调用 StdCall 的 .dll 函数。

------解决方案--------------------
我在EXCEL的VBA里引用ADOX 2.8

然后在ThisWorkbook里建立以下过程,调用你的原代码,没发现有问题:
 Sub test()
Dim createdatabase As New ADOX.Catalog
Dim pstr As String
pstr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Path + "\db.mdb"
createdatabase.Create (pstr)
'createdatabase.ActiveConnection = pstr

 End Sub

此程序我没有存盘,它在C:\下建立了db.mdb
不知道你在VBA中是怎么用的?