VB.NET CreateObject动态链接库

VB.NET CreateObject动态链接库,vb.net,dll,ambiguity,createobject,Vb.net,Dll,Ambiguity,Createobject,你能帮我做一下吗 我尝试在代码中使用一些.dll版本5.0。 但是,Excel对同一dll有多个引用,早期版本如4.0 如果我跑步: Set co = CreateObject("SomeClass.Object") 即使我在Tools->References中为最新的Some.dll创建了一个引用,它也会调用一个最旧的dll,它没有任何功能 我没有管理员权限更改注册表,从我的计算机中删除程序 是否可以以某种方式设置对最新版本dll的引用 我试过: Private Declare Functi

你能帮我做一下吗

我尝试在代码中使用一些.dll版本5.0。 但是,Excel对同一dll有多个引用,早期版本如4.0 如果我跑步:

Set co = CreateObject("SomeClass.Object")
即使我在Tools->References中为最新的Some.dll创建了一个引用,它也会调用一个最旧的dll,它没有任何功能

我没有管理员权限更改注册表,从我的计算机中删除程序

是否可以以某种方式设置对最新版本dll的引用

我试过:

Private Declare Function LoadLibrary Lib "kernel32"...
lb = LoadLibrary(C:\somepath\Some.dll) ' lb is the 5.0 version dll that should be used
set co = CreateObject("lb.Object")
但是,它不起作用(“ActiveX…无法创建对象”)

并浏览了所有的网络,但找不到建议,如何创建具有特定dll路径的对象


请帮忙,谢谢:吉姆

我可以在中间找到解决办法

它是一个名为CreateObjectFromFile()的函数,有助于

CreateObjectFromFile("C:\somepath\Some.dll", "SomeClass")

我遇到了同样的问题,并通过这种方式解决了它:

参考旧版本:

Set co = CreateObject("SomeClass.Object.4.0")
参考新版本:

Set co = CreateObject("SomeClass.Object.5.0")