看板 Visual_Basic 關於我們 聯絡資訊
請輸入專案類型(網站專案或者應用程式專案):應用程式專案. 是這樣的, 我要在.Net專案裡呼叫以前用VB6 寫的ActiveX DLL 的函式.. 因為那個函式裡有一項參數是Excel.Application,所以我必需在.Net裡new 一個Excel Application 再傳進去, 現在問題來了.. 我在.Net專案裡加入一個Microsoft Excel 11.0 Object Library 參考時, 它的名稱 為Microsoft.Office.Interop.Excel但是我傳入ActiveX DLL 時它要求參數必須為 Interop.Excel.Application,而非Microsoft.Office.Interop.Excel.Application. 我測試了很久, 最後發現, 原來project file裡Excel 的COMReference裡的 WrapperTool 是primary,如果我改為tlbimp, 那麼參考的Excel 名稱就會變成我要的 Interop.Excel,如果是原來的primary,就會產出Microsoft.Office.Interop.Excel. 目前將WrapperTool 改為tlbimp可以符合我的需要, 可是錯誤清單裡會有一個討厭的 警告訊息在裡面: 有更新的自訂包裝函式可供以下所參考的元件使用: Excel。 想請問兩點: 1.有沒有辦法把那個討厭的警告訊息拿掉? 2.同一個方案, 有的同事的電腦打開加入Excel 的參考時, 名稱就是 Interop.Excel,他的WrapperTool 就是tlbimp, 也沒有警告訊息, 我不 太清楚是怎樣的環境差異會造成我和他的不同, 有人可以幫忙解惑麼? 寫了一大堆, 我自己知道我寫的很亂, 請見諒, 有需要我補充的地方請提出來.. 最後附上我的project 檔案裡關於Excel 參考的設定.. <COMReference Include="Excel"> <Guid>{00020813-0000-0000-C000-000000000046}</Guid> <VersionMajor>1</VersionMajor> <VersionMinor>5</VersionMinor> <Lcid>0</Lcid> <WrapperTool>tlbimp</WrapperTool> <Isolated>False</Isolated> </COMReference> 謝謝.. -- “我打算每天清晨起床,整天呼吸,過陣子我就不必提醒 自己起床呼吸;再過一陣子,我就不會想起過去的甜蜜。” -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 60.251.145.16
horngsh:用Option Strict Off可以嗎? 02/08 17:03
Privator:改成Option Strict Off應該不會讓warning消失.. ^^; 02/09 13:31