你能帮忙解决以下问题吗
我尝试在我的代码中使用Some.dll 5.0版。 但是,Excel对同一个dll有多个引用,早期版本如4.0 如果我跑:
Set co = CreateObject("SomeClass.Object")
即使我在Tools->最新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路径创建对象。
请帮助,谢谢:吉姆
答案 0 :(得分:2)
我可以在中间找到溶剂,
这是一个名为CreateObjectFromFile()的函数,可以帮助。
CreateObjectFromFile("C:\somepath\Some.dll", "SomeClass")
答案 1 :(得分:1)
我遇到了同样的问题,并以这种方式解决了这个问题:
参考旧版本:
Set co = CreateObject("SomeClass.Object.4.0")
参考新版本:
Set co = CreateObject("SomeClass.Object.5.0")