自動化增益集載入時,Excel 就會失敗

文章翻譯 文章翻譯
文章編號: 284876 - 檢視此文章適用的產品。
全部展開 | 全部摺疊

在此頁中

徵狀

當 Microsoft Excel 會自動化增益集載入期間儲存格編輯模式 Excel 會失敗。具有已指定已載入到 Excel 的自動化增益集只會發生這個問題。

發生的原因

當增益集載入如果增益集顯示一個表單或對話方塊] 方塊,或如果增益集所做的自動化要求至 Excel,並試著變更 Excel 的狀態,就可能發生此問題。下列清單包含了可能會造成 Excel 時就稱為自動化增益集載入期間儲存格編輯模式時,失敗的自動化要求的範例:
  • 以程式設計方式變更目前的選取範圍。例如:
    Application.ActiveSheet.Range("A1").Select
    					
  • 在 [Windows 中呼叫屬性或方法的項目集合。例如:
    Application.ActiveWindow.Zoom = 200
    					
  • 變更一個 Excel 的設定,如計算模式。為範例:
    Application.CalculationMode = xlManual
    					
所有這些項目都是範例程式碼嘗試變更 Excel 環境、 一個活頁簿或工作表的 ; 在編輯模式中不允許這些類型的動作。

解決方案

不要嘗試在您的增益集載入時上述動作。add-將負載期間呼叫的方法中包含 初始化 方法且自動化增益集實作 IDTExtensibility2 介面、 OnConnection 和也 OnStartupComplete 方法。

狀況說明

Microsoft 已確認這是在 Microsoft 中的錯誤,會列在本文開頭的產品。

其他相關資訊

重現問題的步驟

  1. 在 Visual Basic 中啟動新的 ActiveX DLL 專案。
  2. 從 [專案] 功能表中,按一下 [Project1 內容]。TestAddIn,變更 專案名稱,然後按一下 [確定]
  3. 將下列程式碼加入至程式碼模組類別 1:
    Private Sub Class_Initialize()
        MsgBox "Class_Initialize"
    End Sub
    					
  4. 建置 TestAddIn.dll。
  5. 在 Excel,開始新的活頁簿。
  6. 在 Microsoft Office Excel 2003 中,或在 Microsoft Excel 2002 中,請依照下列步驟執行:
    1. 在 [工具] 功能表上指向 [增益集,然後按一下 [自動化]。
    2. 在清單按一下 TestAddIn.Class1,再按 [確定]
    3. 在 [增益集] 對話方塊中,按一下 [確定]
    在 Microsoft Office Excel 2007 中請依照下列步驟執行:
    1. 按一下 Microsoft Office 按鈕,然後按一下 [Excel 選項
    2. 按一下 [增益集] 索引標籤。
    3. 在 [管理] 清單按一下 Excel 增益集,然後再按一下 [移至
    4. 在 [增益集] 對話方塊中,按一下 [自動化]。
    5. 在清單按一下 TestAddin.Class1,再按 [確定]
    6. 按一下 [確定]
  7. 型別 = 一個 在任何儲存格。以文字 Class_Initialize 」 的訊息方塊隨即出現。
  8. 按一下 [確定] 來解除訊息方塊。在幾秒之後 Excel 就會失敗。

?考

如需詳細資訊按一下 [下面的文件編號,檢視 「 Microsoft 知識庫 」 中的發行項]:
291392資訊: Excel COM 增益集和自動化增益集

屬性

文章編號: 284876 - 上次校閱: 2007年2月9日 - 版次: 4.2
這篇文章中的資訊適用於:
  • Microsoft Office Excel 2007
  • Microsoft Office Excel 2003
  • Microsoft Excel 2002 Standard Edition
關鍵字:?
kbmt kbautomation kbbug kbpending KB284876 KbMtzh
機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:284876
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。

提供意見

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com