INFO: Excel-COM-Add-Ins und Automatisierungs-Add-Ins

SPRACHE AUSWÄHLEN SPRACHE AUSWÄHLEN
Artikel-ID: 291392 - Produkte anzeigen, auf die sich dieser Artikel bezieht
Dieser Artikel ist eine Übersetzung des folgenden englischsprachigen Artikels der Microsoft Knowledge Base:
291392 INFO: Excel COM Add-ins and Automation Add-ins
Bitte beachten Sie: Bei diesem Artikel handelt es sich um eine Übersetzung aus dem Englischen. Es ist möglich, dass nachträgliche Änderungen bzw. Ergänzungen im englischen Originalartikel in dieser Übersetzung nicht berücksichtigt sind. Die in diesem Artikel enthaltenen Informationen basieren auf der/den englischsprachigen Produktversion(en). Die Richtigkeit dieser Informationen in Zusammenhang mit anderssprachigen Produktversionen wurde im Rahmen dieser Übersetzung nicht getestet. Microsoft stellt diese Informationen ohne Gewähr für Richtigkeit bzw. Funktionalität zur Verfügung und übernimmt auch keine Gewährleistung bezüglich der Vollständigkeit oder Richtigkeit der Übersetzung.
Alles erweitern | Alles schließen

Zusammenfassung

Microsoft Excel 2002 unterstützt neben COM-Add-Ins (COM = Component Object Model) auch Automatisierungs-Add-Ins. Dieser Artikel erläutert die Unterschiede zwischen diesen beiden Typen von Add-Ins.

Weitere Informationen

COM-Add-Ins

COM-Add-Ins bieten dem Entwickler eine Möglichkeit, die Funktionalität von Office 2000-, Office XP- und Office 2003-Anwendungen für benutzerdefinierte Aufgaben zu erweitern. COM-Add-Ins werden in der Regel zur Automatisierung von Excel bei Reaktionen auf das Anklicken einer Befehlsschaltfläche, eines Formulars oder Dialogfeldes oder auf ein Excel-spezifisches Ereignis wie das Öffnen oder Schließen von Arbeitsmappen oder die Eingabe von Daten in Arbeitsblättern verwendet. COM-Add-In-Funktionen können nicht direkt aus Zellbezügen in Arbeitsblättern aufgerufen werden.

Ein COM-Add-In ist ein In-Process-COM-Server (eine ActiveX-DLL), der die Schnittstelle IDTExensibility2 implementieren muss. Alle COM-Add-Ins müssen jede der fünf Methoden dieser Schnittstelle implementieren: OnConnection, OnStartupComplete, OnAddinsUpdate, OnBeginShutDown und OnDisconnection.

Wenn ein COM-Add-In im System eines Benutzers installiert wird, werden Registrierungseinstellungen für das Add-In erstellt. Zusätzlich zur normalen COM-Registrierung wird ein COM-Add-In für jede Office-Anwendung registriert, in der es ausgeführt wird. Von Excel verwendete COM-Add-Ins werden im folgenden Registrierungsschlüssel registriert:
HKEY_CURRENT_USER\Software\Microsoft\Office\Excel\Addins\ 
					
Dieser Schlüssel enthält einen Unterschlüssel für jedes installierte COM-Add-In. Der Name des Unterschlüssels ist die Programmkennung für das COM-Add-In. Der Unterschlüssel für ein COM-Add-In enthält außerdem Werte, die den Anzeigenamen, die Beschreibung und das Ladeverhalten des COM-Add-Ins beschreiben. Das Ladeverhalten des COM-Add-Ins beschreibt, wie das Add-In in Excel geladen wird: beim Start, erst beim nächsten Start, bei Bedarf oder nicht geladen.

COM-Add-Ins können auch über die Excel-Benutzeroberfläche geladen und entladen werden. Gehen Sie hierzu folgendermaßen vor:
  1. Zeigen Sie im Menü Ansicht auf Symbolleisten, und klicken Sie dann auf Anpassen.
  2. Klicken Sie im Dialogfeld Anpassen auf Befehle. Wählen Sie in der Liste der Kategorien die Option Extras. Suchen Sie COM-Add-Ins in der Liste der Befehle, und ziehen Sie den Befehl auf ein Menü oder eine Befehlsleiste Ihrer Wahl. Schließen Sie das Dialogfeld Anpassen.
  3. Klicken Sie auf den Befehl COM-Add-Ins, den Sie hinzugefügt haben, um das Dialogfeld COM-Add-Ins anzuzeigen. Das Dialogfeld listet alle in Ihrem System installierten COM-Add-Ins auf, und die zu diesem Zeitpunkt geladenen COM-Add-Ins sind ausgewählt.
Weitere Informationen zu COM-Add-Ins finden Sie in folgenden Artikeln der Microsoft Knowledge Base:
238228 HOWTO: Build an Office 2000 COM Add-In in Visual Basic
230689 SAMPLE: Comaddin.exe Office 2000 COM Add-In Written in Visual C++
Weitere Informationen finden Sie auf folgender Website von Microsoft:
Office Add-Ins
http://support.microsoft.com/support/officedev/addins.asp

Automatisierungs-Add-Ins

Neben COM-Add-Ins unterstützen Excel 2002 und Excel 2003 auch Automatisierungs-Add-Ins. Automatisierungs-Add-Ins bauen insofern auf COM-Add-Ins auf, als Funktionen in Automatisierungs-Add-Ins aus Formeln in Excel-Arbeitsblättern aufgerufen werden können. COM-Add-Ins müssen In-Process-COM-Server sein, die die Schnittstelle IDTExtensibility2 unterstützen. Automatisierungs-Add-Ins hingegen können In-Process- oder Out-of-Process-COM-Server sein, und die Implementierung von IDTExtensibility2 ist optional.

Gehen Sie folgendermaßen vor, um ein Automatisierungs-Add-In in Excel zu verwenden:
  1. Klicken Sie im Menü Extras auf Add-Ins.
  2. Klicken Sie im Dialogfeld Add-Ins auf Automatisierung. Wählen Sie in der Liste der registrierten COM-Server Ihr Automatisierungs-Add-In aus, und klicken Sie auf OK.
  3. Das Automatisierungs-Add-In wird im Dialogfeld Add-Ins angezeigt. Klicken Sie auf OK, um das Dialogfeld Add-Ins zu schließen.
Wenn Sie Einträge zur Liste im Dialogfeld Add-Ins hinzufügen oder Add-Ins in der Liste markieren und entfernen, speichert Excel Ihre Änderungen in der Registrierung. Zunächst verwendet Excel die folgende Registrierungseinstellung, um zu ermitteln, ob ein Automatisierungs-Add-In in der Liste geladen ist:
 Excel 2002
Schlüssel:            HKEY_CURRENT_USER\Software\Microsoft\Office\10.0\Excel\Options
Zeichenfolge:         OPENx
Beispielwert:   /A "ServerName.ClassName"
 Excel 2003
Schlüssel:            HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Excel\Options
Zeichenfolge:         OPENx
Beispielwert:   /A "ServerName.ClassName"
					
Die Option /A, die im Zeichenfolgenwert verwendet wird, ist neu in Excel 2002/Excel 2003 und wird speziell zum Laden von Automatisierungs-Add-Ins verwendet. Alle Automatisierungs-Add-Ins werden bei Bedarf geladen; es gibt keine Einstellung, um das Ladeverhalten für ein Automatisierungs-Add-In zu ändern.

Wenn ein Automatisierungs-Add-In, das im Dialogfeld Add-Ins aufgeführt wird, entfernt wird, wird ein Teilschlüssel mit einem Namen, der der Programmkennung des Add-In entspricht, im folgenden Registrierungsschlüssel erstellt:
Excel 2002:
HKEY_CURRENT_USER\Software\Microsoft\Office\10.0\Excel\Add-in Manager
Excel 2003: 
HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Excel\Add-in Manager
					
Diese Registrierungseinstellung gewährleistet, dass Automatisierungs-Add-Ins, die Sie zur Add-In-Liste hinzugefügt haben, auch dann in der Liste bleiben, wenn Sie sie nicht geladen haben.

Weitere Informationen zu Automatisierungs-Add-Ins finden Sie in folgendem Artikel der Microsoft Knowledge Base:
285337 HOWTO: Create a Visual Basic Automation Add-in for Excel Worksheet Functions
Weitere Informationen finden Sie auf folgender Website von Microsoft:
Office Add-Ins
http://support.microsoft.com/support/officedev/addins.asp

Automatisierungs-Add-Ins, die "IDTExtensibility2" implementieren

Wie zuvor erwähnt, kann ein Automatisierungs-Add-In IDTExtensibility2 implementieren. Dies ist jedoch keine Voraussetzung dafür, dass Excel die Funktionen im Add-In aus einem Arbeitsblatt aufrufen kann. Wenn Ihr Automatisierungs-Add-In einen Bezug zur Excel-Instanz benötigt, können Sie IDTExtensibility2 implementieren und den Parameter Application von OnConnection zur Automatisierung von Excel verwenden.

Ein Automatisierungs-Add-In, das IDTExtensibility2 implementiert, kann in der Excel-Benutzeroberfläche über das Dialogfeld COM-Add-Ins und das Dialogfeld Add-Ins geladen werden. Abhängig davon, ob ein Automatisierungs-Add-In in einem oder beiden dieser Dialogfelder geladen wird, sieht sein Verhalten folgendermaßen aus:
  • Add-In wird nur im Dialogfeld Add-Ins geladen.

    Add-In wird bei Bedarf geladen. Funktionen im Add-In können aus Formeln in einem Arbeitsblatt aufgerufen werden.
  • Add-In wird nur im Dialogfeld COM-Add-Ins geladen.

    Das Add-In wird als COM-Add-In geladen, und sein Ladeverhalten wird aus Einstellungen in der Registrierung ermittelt. Funktionen im Add-In können aus Formeln in einem Arbeitsblatt aufgerufen werden.
  • Add-In wird in den Dialogfeldern COM-Add-Ins und Add-Ins geladen.

    Zwei separate Instanzen des Add-In werden geladen. Eine Instanz wird als COM-Add-In und die andere Instanz als Automatisierungs-Add-In geladen. Die COM-Add-In-Instanz verwendet das in der Registrierung angegebene Ladeverhalten. Die Automatisierungs-Add-In-Instanz wird bei Bedarf geladen. Die zwei Instanzen funktionieren unabhängig voneinander und verwenden keine gemeinsamen globalen Variablen.
Da Automatisierungs-Add-Ins bei Bedarf geladen werden, kann es sein, dass Excel versucht, das Add-In zu laden, während es sich im Zellenbearbeitungsmodus befindet. Wenn Sie also ein Automatisierungs-Add-In entwickeln, das IDTExtensibility2 unterstützt, sollten Sie darauf achten, nichts zu tun, das den Status von Excel verändern könnte, während das Add-In geladen wird. Weitere Informationen finden Sie in folgendem Artikel der Microsoft Knowledge Base:
284876 BUG: Excel Fails When Automation Add-In Loads
(c) Microsoft Corporation 2001, Alle Rechte vorbehalten. Beiträge von Lori B. Turner, Microsoft Corporation.

Eigenschaften

Artikel-ID: 291392 - Geändert am: Dienstag, 30. Mai 2006 - Version: 3.1
Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft Office Excel 2003
  • Microsoft Excel 2002 Standard Edition
Keywords: 
kbautomation kbinfo KB291392
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