2010-03-09 116 views
0

我使用Visual Studio 2008創建了一個Excel加載項。它具有功能區,一堆窗格和代碼,可以添加表單和範圍,並從網頁中獲取信息。爲什麼我的Excel插件只有一半工作?

當我在我的開發PC上運行它時,它完美地工作。我使用Publish命令來公佈它並安裝在Windows XP虛擬PC上。安裝看起來很好,當我打開Excel時,我看到了我的功能區。如果我點擊一個顯示窗格的按鈕,向上彈出窗格。如果我在窗格中輸入一些細節來創建範圍並使用網頁中的數據填充範圍,則會創建該範圍,但不會訪問網頁(我測試過我具有連接性)。我的一個按鈕添加了一個隱藏的工作表,另一個顯示或隱藏該工作表。其中一個按鈕不起作用。

我試過了我能想到的一切。我想知道是否有任何我需要處理的權限或信任問題?

回答

1

一個可能的解釋是發生異常並且執行被暫停而沒有警告。在VSTO中,據我所知,沒有簡單的方法來集中處理錯誤並至少執行錯誤記錄。如果拋出異常的代碼沒有被try/catch包圍,異常將會中斷執行。所以如果你還沒有做到這一點,我建議你圍繞所有的執行入口點,如由用戶操作觸發的事件處理程序(按鈕點擊等)與try/catch並記錄異常。

如果你有很多這些情況下,你可以檢查下面的文章(無恥的插件),可能簡化這個過程。

Centralizing VSTO Add-in Exception Management with PostSharp

+0

我會嘗試添加一些額外的嘗試/捕獲。 – 2010-03-09 11:15:37

+0

發現問題(儘管我還不知道解決方案)。 try/catch顯示了「無法識別的元素'extendedProtectionPolicy'」異常。我認爲這與它如何調用Web服務有關,但需要做更多的研究。 – 2010-03-09 11:27:34

+0

如果其他人看到上述錯誤,則顯示Windows 7添加了此配置項,而Windows XP不喜歡它。如果您從app.config中刪除該設置,問題就會消失。 – 2010-03-09 11:34:23

0

對不起,我不認爲我有權限添加到若昂·安傑洛的帖子的回覆。

另一種可以找到在excel中引發的錯誤消息的方法是添加一個環境變量,該變量不會抑制加載項引發的任何錯誤消息。我遇到這個錯誤,無法弄清楚是什麼導致我的加載失敗。

  1. 選擇開始 - >右鍵單擊我的電腦,然後選擇屬性。
  2. 選擇高級系統設置 - >系統屬性對話框應該出現。
  3. 選擇環境變量並添加一個新的系統變量
    變量名是:VSTO_SUPPRESSDISPLAYALERTS 的值是:。

任何錯誤,現在會被扔進一個Excel例外對話框,說明完整的錯誤消息。

相關問題