2013-03-10 99 views
1

我創建了一個excel插件的調試版本,我們稱它爲myaddin.xll。當我打開一個excel的實例並添加myaddin.xll它時,我得到了預期的結果。但是當我從 visual studio環境中進行調試時,myaddin.xll會嘗試打開並給出「此程序無法在dos模式下」錯誤。從Visual Studio中加載excel插件xll調試

對於我開發的其他excel插件我沒有這個問題。這個問題突然出現在這個特定的插件中。 「dos模式...」錯誤通常發生在缺少某些東西時。顯然插件沒有任何缺失的組件,因爲它在Excel中打開。但是當我嘗試在Visual Studio中打開時,某些組件會丟失。我的問題是如何找出是什麼導致了錯誤並修復它。

當我打開調試excel打開,然後彈出「你的文件myaddin.dll是在一個不同的格式比指定的文件擴展名....」當我打好了彈出我得到垃圾電子表格中的字符。

+0

你得到'不同的格式'在32位Excel中打開64位.xll時發生錯誤(反之亦然)。也許您當前的項目設置是與您的Excel版本(比如Debug64)不兼容的目標,並且您通常從另一個輸出目錄(例如Debug)打開。 – Govert 2013-03-10 07:15:15

+0

Govert,謝謝你的回答,但我知道了這個問題,並在這個過程中學到了一件重要的事情。發生這種情況:我的xll正在使用另一個dll(比如說2.dll),這是我在env變量中設置的路徑。當我將xll放入excel時,它會正確打開,因爲excel知道2.dll的路徑。從視覺工作室內部來看,它失敗了,因爲大多數情況下,視覺工作室在打開時加載路徑。如果您不關閉並重新打開它,則不會更新路徑。因此當它試圖打開xll時,它無法找到2.dll並且失敗,即使實際構建良好。 – user1612986 2013-03-10 14:07:58

回答

1

需要配置Visual Studio來:1)運行Excel 2)加載.xll和3)添加DLL依賴路徑(右擊projet- 「配置屬性」 - > 「調試」):

Visual Studio Debug Configuration

- 不要忘了切換擴展 - 的DLL(「配置屬性」>「常規),以.xll

- 不要錯過霍弗特(loading a excel addin xll from visual studio debug)評論關於x64bit與32 bits。