Excel schlägt fehl, wenn Automatisierungs-add-in geladen

SPRACHE AUSWÄHLEN SPRACHE AUSWÄHLEN
Artikel-ID: 284876 - Produkte anzeigen, auf die sich dieser Artikel bezieht
Alles erweitern | Alles schließen

Auf dieser Seite

Problembeschreibung

Wenn Microsoft Excel ein Automatisierungs-add-in geladen wird während der Zelle den Bearbeitungsmodus, Excel schlägt fehl. Dieses Problem tritt nur bei Automatisierungs-add-ins, die bei Bedarf in Excel geladen wurden.

Ursache

Dieses Problem kann auftreten, wenn ein Add-In lädt, wenn das Add-in ein Formular oder Dialogfeld Feld angezeigt wird, oder wenn das Add-in eine Automatisierung in Excel anfordert, der versucht, den Zustand des Excel ändern. Die folgende Liste enthält Beispiele für die Automatisierung Anforderungen, die zum fehlschlagen, wenn es aufgerufen wird, während ein Automatisierungs-add-in während Zellenbearbeitungsmodus lädt Excel führen können:
  • Ändern Sie die aktuelle Auswahl programmgesteuert. Zum Beispiel:
    Application.ActiveSheet.Range("A1").Select
    					
  • Rufen Sie eine Eigenschaft oder Methode eines Elements in der Windows-Auflistung. Zum Beispiel:
    Application.ActiveWindow.Zoom = 200
    					
  • Ändern Sie eine Excel-Einstellung z. B. den Berechnungsmodus. Für Beispiel:
    Application.CalculationMode = xlManual
    					
Alle diese Elemente sind Beispiele für Code versucht, die Excel-Umgebung, eine Arbeitsmappe oder ein Arbeitsblatt zu ändern; diese Arten von Aktionen dürfen nicht im Bearbeitungsmodus.

Lösung

Versuchen Sie nicht die oben genannten Aktionen während Ihrer-add-in geladen. Add - in Methoden, die während des Ladens aufgerufen einschließen die Initialize -Methode und, falls Ihr Add-in Automatisierung die IDTExtensibility2- Schnittstelle, die OnConnection und sowie OnStartupComplete -Methoden implementiert.

Status

Microsoft hat bestätigt, dass es sich hierbei um ein Problem bei den in diesem Artikel Microsoft-Produkten handelt.

Weitere Informationen

Zum Reproduzieren des Problems erforderliche Schritte

  1. Starten Sie ein neues ActiveX DLL-Projekt in Visual Basic.
  2. Klicken Sie im Menü Projekt auf Projekt1 Eigenschaften . Ändern Sie den Projektnamen , TestAddIn , und klicken Sie dann auf OK .
  3. Fügen Sie den folgenden Code hinzu im Code-Modul für Class1:
    Private Sub Class_Initialize()
        MsgBox "Class_Initialize"
    End Sub
    					
  4. Erstellen Sie TestAddIn.dll.
  5. Starten Sie eine neue Arbeitsmappe in Excel.
  6. Gehen Sie in Microsoft Office Excel 2003 oder in Microsoft Excel 2002 folgendermaßen vor:
    1. Im Menü Extras auf Add-Ins , und klicken Sie dann auf Automatisierung .
    2. Klicken Sie in der Liste auf TestAddIn.Class1 , und klicken Sie dann auf OK .
    3. Klicken Sie im Dialogfeld Add-Ins auf OK .
    Gehen Sie in Microsoft Office Excel 2007 folgendermaßen vor:
    1. Klicken Sie auf die Microsoft Office-Schaltfläche , und klicken Sie dann auf Excel-Optionen .
    2. Klicken Sie auf die Registerkarte Add-Ins .
    3. Klicken Sie in der Liste Verwalten auf Excel-Add-ins , und klicken Sie dann auf OK .
    4. Klicken Sie im Dialogfeld Add-Ins auf Automatisierung .
    5. Klicken Sie in der Liste auf TestAddin.Class1 , und klicken Sie dann auf OK .
    6. Klicken Sie auf OK .
  7. Typ = eine in einer beliebigen Zelle. Ein Meldungsfeld mit dem Text "Class_Initialize" wird angezeigt.
  8. Klicken Sie auf OK , um das Meldungsfeld zu schließen. Nach wenigen Sekunden schlägt Excel.

Informationsquellen

Weitere Informationen finden Sie die folgende KB-Artikelnummer:
291392INFO: Excel-COM-Add-Ins und Automatisierungs-Add-Ins

Eigenschaften

Artikel-ID: 284876 - Geändert am: Freitag, 9. Februar 2007 - Version: 4.2
Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft Office Excel 2007
  • Microsoft Office Excel 2003
  • Microsoft Excel 2002 Standard Edition
Keywords: 
kbmt kbautomation kbbug kbpending KB284876 KbMtde
Maschinell übersetzter Artikel
Wichtig: Dieser Artikel wurde maschinell und nicht von einem Menschen übersetzt. Die Microsoft Knowledge Base ist sehr umfangreich und ihre Inhalte werden ständig ergänzt beziehungsweise überarbeitet. Um Ihnen dennoch alle Inhalte auf Deutsch anbieten zu können, werden viele Artikel nicht von Menschen, sondern von Übersetzungsprogrammen übersetzt, die kontinuierlich optimiert werden. Doch noch sind maschinell übersetzte Texte in der Regel nicht perfekt, insbesondere hinsichtlich Grammatik und des Einsatzes von Fremdwörtern sowie Fachbegriffen. Microsoft übernimmt keine Gewähr für die sprachliche Qualität oder die technische Richtigkeit der Übersetzungen und ist nicht für Probleme haftbar, die direkt oder indirekt durch Übersetzungsfehler oder die Verwendung der übersetzten Inhalte durch Kunden entstehen könnten.
Den englischen Originalartikel können Sie über folgenden Link abrufen: 284876
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.

Ihr Feedback an uns

 

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