关于在vba里引用dll的有关问题
关于在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中是怎么用的?