首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

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

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

关于在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中是怎么用的?

热点排行