2011-12-28 159 views
0

你能否請以下幫助VB CreateObject dll歧義

我嘗試在我的代碼中使用Some.dll版本5.0。 但是,Excel有一個像4.0 爲同一個DLL多參考,與早期版本如果我運行:

Set co = CreateObject("SomeClass.Object") 
即使我創建了一個工具 - 參考

>爲最新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路徑的對象。

請幫幫忙,謝謝:吉姆

回答

1

我能找到其間sollution,

是()稱爲CreateObjectFromFile的功能,可以幫助。

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

我遇見了同樣的問題,解決這樣說:

參考舊版本:

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

參考新版本:

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