Beispiel: Comaddin.exe Office 2000 COM Add-in in Visual C++ geschriebene

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

Auf dieser Seite

Zusammenfassung

Comaddin.exe ist eine selbstextrahierende ausführbare Datei, die Erstellung einer Office 2000 oder Office XP Komponentenobjektmodells (COM) Add-in mit Visual C++ veranschaulicht. Ist ein COM-add-in einer in-Process-COM-Server speziell im Kontext von Office 2000 oder Office XP-Anwendungen ausgeführt werden. Com-add-ins bieten eine flexible, effiziente und einheitliche Methode zum Erweitern der Office-Umgebung.

Com-add-ins bauen auf einer beliebigen Programmiersprache, die COM-Komponenten, z. B. Visual Basic, c/c++, C#- und die Office 2000 Developer oder Office XP Developer Edition von Visual Basic für Applikationen (VBA) erstellen können.

Dieses Beispiel demonstriert die notwendigen Schritte zum Erstellen eines COM-add-in in Visual C++. Das Beispiel erstellt eine grundlegende Add-in-Shell, die Sie erweitern können, um eigene Office-add-in erstellen.

Weitere Informationen

Die folgende Datei steht im Microsoft Download Center zum Download zur Verfügung:
Comaddin.exe
Freigabedatum: Januar 4, 1999

Weitere Informationen zum Download von Microsoft Support-Dateien finden Sie in folgendem Artikel der Microsoft Knowledge Base:
119591So erhalten Sie Dateien vom Microsoft Support im Internet
Microsoft hat diese Datei auf Viren überprüft. Microsoft hat dazu die neueste Software zur Virenerkennung verwendet, die zum Zeitpunkt der Bereitstellung verfügbar war. Die Datei befindet sich auf Servern mit verstärkter Sicherheit, wodurch nicht autorisierte Änderungen an der Datei weitestgehend verhindert werden.

Beispiel-Dateiinformationen

Comaddin.exe extrahiert die folgenden Dateien in einem Ordner Ihrer Wahl:
   FileName                    Size
   ----------------------------------------
   
   TestAddin.dsw               541 bytes
   TestAddin.dsp               4.11 KB 
   ComAddin.h                  6.19 KB
   ComAddin.cpp                8.38 KB
   ComAddin.def                205 bytes
   MyAddin.cpp                 10.6 KB
   MyAddinCF.cpp               2.18 KB
   BttnHandler.cpp             6.27 KB

IDTExensibility2

Eine COM-Objekt ein Office-add-in sein kann muss er die IDTExensibility2-Schnittstelle unterstützen, wie in die Microsoft Add-In Designer Typbibliothek (Msaddndr.dll) beschrieben. Diese Schnittstelle wurde deklariert für Sie in ComAddin.h sodass keine Import erforderlich ist. Alle COM-Add-Ins übernehmen Eigenschaften von dieser Schnittstelle und müssen alle fünf Methoden der Schnittstelle implementieren:
  • OnConnection
  • OnDisconnection
  • OnAddInsUpdate
  • OnStartupComplete
  • OnBeginShutdown
Wenn ein COM-add-in erstmals geladen wird, wird ein QueryInterface-Aufruf für IDTExtensibility2 durchgeführt. Wenn dieser Aufruf fehlschlägt, wird das Add-In entladen. Wenn der Aufruf erfolgreich ist, wird die Host-Anwendung um das Add-in von Änderungen an seinen Zustand zu benachrichtigen, zurückgegebenen Verweis verwenden. Eine Beschreibung jeder Methode folgt.

OnConnection

Das Ereignis "OnConnection" wird ausgelöst, wenn das COM-Add-In geladen wird. Das Add-In kann beim Systemstart, durch den Endbenutzer oder durch Automatisierung geladen werden. Wenn OnConnection S_OK zurückgibt, gilt das Add-in als geladen werden. Wenn ein anderer Wert zurückgegeben wird, die Host-Anwendung wird sofort den Verweis auf das Add-in freizugeben, und das Objekt wird zerstört.

OnConnection verwendet die folgenden vier Parameter:
  • Anwendung ? ein Verweis auf die IDispatch-Schnittstelle der Host-Anwendung.
  • ConnectMode - eine Konstante, angibt, wie das Add-In geladen wurde.
    • Ext_cm_AfterStartup - Schritte vom Endbenutzer über das Dialogfeld COM-add-ins.
    • Ext_cm_CommandLine - Verbindung von der Befehlszeile aus.
    • Ext_cm_External - Verbindung von einer externen Anwendung über Automatisierung.
    • Ext_cm_Startup - vom Host beim Start der Anwendung gestartet. Dieses Verhalten kann durch eine Einstellung in der Registrierung gesteuert werden.
  • AddInInst - ein Verweis auf das COMAddIn-Objekt, das auf dieses Add-in in der COMAddIns-Auflistung für die Host-Anwendung verweist.
  • Benutzerdefiniert - ein Array von Varianten, die benutzerdefinierte Daten enthalten kann.


OnDisconnection

Das Ereignis OnDisconnection wird bei Deaktivierung des COM-Add-Ins kurz vor dem Entladen aus dem Speicher ausgelöst. Das Add-In sollte in diesem Fall die Ressourcen freigeben und etwaige Änderungen rückgängig machen, die an der Host-Anwendung vorgenommen wurden.

In Verbindung mit OnDisconnection können die folgenden beiden Parameter verwendet werden:
  • RemoveMode - eine Konstante, angibt, wie das Add-in getrennt wurde.
    • Ext_dm_HostShutdown - getrennt, wenn die Host-Anwendung geschlossen.
    • Ext_dm_UserClosed - durch den Endbenutzer oder einen Automatisierungscontroller getrennt.
  • Benutzerdefiniert - ein Array von Varianten, die benutzerdefinierte Daten enthalten kann.


OnAddInsUpdate

Das Ereignis OnAddInsUpdate wird ausgelöst, wenn es Änderungen am Satz der registrierten COM-Add-Ins gibt. Dies bedeutet, dass dieses Ereignis immer dann ausgelöst wird, wenn ein COM-Add-In installiert oder aus der Host-Anwendung entfernt wurde.


OnStartupComplete und OnBeginShutdown

Die OnStartupComplete und OnBeginShutdown Ereignisse darüber das Add-in benachrichtigt, wenn die Host-Anwendung in einen Zustand, in denen Interaktion des Benutzers vermieden werden sollte, weil die Anwendung gerade geladen oder aus dem Speicher entladen wird, gelangt. OnStartupComplete wird nur ausgelöst, wenn das Add-in während des Startvorgangs verbunden wurde und OnBeginShutdown wird nur ausgelöst, wenn das Add-in von der Host während des Herunterfahrens getrennt wird.

Da die Benutzeroberfläche für die Host-Anwendung vollständig aktiv ist, wenn diese Ereignisse ausgelöst werden, können Sie die einzige Möglichkeit, bestimmte Aktionen auszuführen, die andernfalls bei OnConnection und OnDisconnection nicht verfügbar wären sein.

Registrieren des COM-Add-Ins

Zusätzlich zur normalen COM-Registrierung muss eine COM-add-in bei jeder Office 2000-Anwendung registriert in dem Sie problemlos ausführen kann. Mit einer bestimmten Anwendung registriert werden kann, erstellt das Add-in einen Teilschlüssel mit seiner Programm-ID als Namen für den Schlüssel unter dem folgenden Pfad:

HKEY_CURRENT_USER\Software\Microsoft\Office\<appname>\Addins\<addinprogid>
Für das Add-In können in diesem Registrierungsschlüssel Werte für einen eindeutigen Anzeigenamen und eine vollständige Beschreibung angegeben werden. Darüber hinaus sollte das Add-in seine gewünschten über einen DWORD-Wert namens "LoadBehavior." Ladeverhalten Dieser Wert bestimmt, wie das Add-in von der Host-Anwendung geladen werden, und besteht aus einer Kombination der folgenden Werte:
  • 0 x 00 = Disconnect ? nicht geladen.
  • 0 x 01 = Connected - geladen.
  • 0 x 02 = Bootload - Last auf Anwendung starten.
  • 0 x 08 = DemandLoad - laden nur, wenn vom Benutzer angefordert.
  • 0 x 16 = ConnectFirstTime - nur einmal laden (beim nächsten Start).
Der in der Regel angegebene Wert lautet 0x03 (Connected | Bootload).

Add-Ins, die die IDTExtensibility2-Schnittstelle implementieren sollten auch angeben, einen DWORD-Wert namens "CommandLineSafe" um anzugeben, ob Sie für Vorgänge sicher sind, die eine Benutzeroberfläche nicht unterstützen. Der Wert 0 x 00 bedeutet False, 0 x 01 auf True festgelegt ist. Da in diesem Beispiel ein Meldungsfeld anzeigt, ist nicht sicher für die Ausführung der Befehlszeile und daher der Wert auf 0 x 00 festgelegt.

Einführung

Zum Einstieg Schreiben von Add-Ins kompilieren Sie das Beispielprojekt, führen Sie regsvr32.exe für die erstellte DLL und starten Sie Word, Excel, PowerPoint und/oder FrontPage 2000. Finden Sie ein Dialogfeld wie das Add-In geladen ruft geöffnet, die "Hello", sagt und erfahren Sie, welche Anwendung es wird.

(c) 1999 Microsoft Corporation, alle Rechte vorbehalten. Beiträge von Richard R. Taylor, Microsoft Corporation.

Eigenschaften

Artikel-ID: 230689 - Geändert am: Montag, 9. August 2004 - Version: 5.4
Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft Excel 2000 Standard Edition
  • Microsoft Visual C++ 5.0 Enterprise Edition
  • Microsoft Visual C++ 6.0 Enterprise Edition
  • Microsoft Visual C++ 5.0 Professional Edition
  • Microsoft Visual C++ 6.0 Professional Edition
  • Microsoft Visual C++, 32-bit Learning Edition 6.0
  • Microsoft Office XP Developer Edition
  • Microsoft Office 2000 Developer Edition
  • Microsoft FrontPage 2002 Standard Edition
  • Microsoft FrontPage 2000 Standard Edition
  • Microsoft PowerPoint 2002 Standard Edition
  • Microsoft PowerPoint 2000 Standard Edition
  • Microsoft Word 2002 Standard Edition
  • Microsoft Word 2000 Standard Edition
  • Microsoft Excel 2002 Standard Edition
  • Microsoft Outlook 2000
  • Microsoft Outlook 2002 Standard Edition
Keywords: 
kbmt kbdownload kbautomation kbfile kbinfo kbsample KB230689 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: 230689
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