2011-12-28 10 views
0

VB CreateObject dllあいまいさ

私のコード内でSome.dllバージョン5.0を使用しようとしています。 は、私が実行している場合しかし、Excelは4.0 のような以前のバージョンで、同じDLLの複数の参照を持っている:私は、最新Some.dllのためのツール - >参照内の参照を作成した場合でも、

Set co = CreateObject("SomeClass.Object") 

、それは1を呼び出します最も古い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

私はそれが助けCreateObjectFromFile(と呼ばれる関数)で、その間の

をsollutionを見つけることができます。

私は同じ問題を満たし、かつ、このようにそれを解決してきました
CreateObjectFromFile("C:\somepath\Some.dll", "SomeClass") 
1

:新しいバージョンへの参照

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

Set co = CreateObject("SomeClass.Object.5.0") 
を古いバージョンに

リファレンス

関連する問題