我創建了一個「Sample.Dll」和含有返回一個值,使用Visual Studio 2005類庫訪問它在微軟的函數「sample.tlb」文件Office Excel的宏來獲取單元格值。DLL和TLB引用問題在Excel VBA
我建立Solution.the變化之前設置在Visual Studio 2005中的一些特性是:
- 應用程序 - >大會信息 - >請大會COM可見覆選框選中。
- 編譯 - >註冊經過COM互操作複選框(這將創建 'Sample.tlb' 文件)
- 簽名 - >簽署Assembly.Check選中複選框(這將創建 'Sample.snk' 文件)
我構建解決方案,並有在發行文件夾中的三個文件
- Sample.Dll
- Sample.tlb
- Sample.snk
- sample.Pdb
- sample.xml中
現在我放置 'sample.dll' 和 'sample.tlb' 在System32然後註冊在另一臺機器上的sample.dll兩次
- by GACUTIL/i。由RegAsm sample.dll
現在我打開Excel然後創建宏,並從系統32添加 'sample.tlb' 的參考和Microsoft ActiveX數據對象sample.dll
Cells(1,1)=object.Function()
它在同一臺機器,其中sample.Dll建立,但另一臺機器上它給當執行功能,並沒有返回單元格的值返回錯誤值。 該函數給出了錯誤代碼。
。錯誤代碼429 2.Error代碼-2147024894
我研究了兩個錯誤,但並未有任何好成績。 爲什麼它出現在我沒有編譯sample.dll的任何其他機器? 如何創建一個通用的Dll,在每個機器配置和每個機器配置中運行完美? 或我沒有執行什麼步驟?
你好Tom,非常感謝你的反饋。是的,現場辦公室需要安裝在目標機器上,我們已經確保。問題仍然存在。請幫助我們解決這個問題。我們希望我們能夠傳達我們正面臨的問題。請告訴我們,如果有任何進一步的細節需要我們向您傳達我們正面臨的問題。 – VAIBHAV 2012-03-07 10:20:10