Samenvatting

Microsoft Office Excel ondersteunen automatiseringsinvoegtoepassingen naast het Component Object Model (COM)-invoegtoepassingen. In dit artikel wordt uitgelegd dat de verschillen tussen deze twee typen invoegtoepassingen.

Meer informatie

COM-invoegtoepassingen

De ontwikkelaar van de presenteren COM-invoegtoepassingen op een manier om uit te breiden de functionaliteit van Office-toepassingen voor aangepaste taken. COM-invoegtoepassingen worden meestal gebruikt om Excel te automatiseren in reactie op een klik op een werkbalkknop, een formulier of dialoogvenster of een andere gebeurtenis die specifiek zijn voor Excel, zoals het openen of sluiten van werkmappen of invoeren van gegevens in werkbladen. COM Add-in functies kunnen niet rechtstreeks worden aangeroepen vanuit formules in cellen in werkbladen.

Een COM Add-in is een in-process COM-server (een ActiveX DLL) die de IDTExensibility2 -interface moet worden geïmplementeerd. Elk van de vijf methoden van deze interface moet worden geïmplementeerd door alle COM-invoegtoepassingen: OnConnection, OnStartupComplete, OnAddinsUpdate, OnBeginShutDownen OnDisconnection.

Wanneer een COM Add-in is geïnstalleerd op het systeem van een gebruiker, worden de registervermeldingen gemaakt voor de invoegtoepassing. Naast de normale COM-registratie, is een COM Add-in geregistreerd voor elke Office-toepassing waarin deze wordt uitgevoerd. COM-invoegtoepassingen die worden gebruikt door Excel worden geregistreerd in de volgende registersleutel:

                
HKEY_CURRENT_USER\Software\Microsoft\Office\Excel\Addins\

Deze sleutel bevat een subsleutel voor elke geïnstalleerde COM Add-in. De naam van de subsleutel is ProgID voor de COM Add-in. De subsleutel van een COM Add-in bevat ook waarden die beschrijven de COM Add-in de beschrijvende naam, de beschrijving en laden, gedrag. Het laadgedrag wordt beschreven hoe de invoegtoepassing wordt geladen in Excel: geladen tijdens het opstarten wordt geladen bij alleen de volgende keer opstarten geladen op aanvraag of niet geladen.

COM-invoegtoepassingen kan ook worden geladen en gelost via de gebruikersinterface van Excel. Ga hiervoor als volgt te werk:

  1. Wijs werkbalken aan in het menu Beeld en klik vervolgens op aanpassen.

  2. Klik op het tabblad Geavanceerd in het dialoogvenster werkbalken . Selecteer in de lijst met categorieën Extra. COM-invoegtoepassingen vinden in de lijst opdrachten en sleep de opdracht aan een menu of CommandBar van uw keuze. Sluit het dialoogvenster werkbalken .

  3. Klik op de opdracht COM-invoegtoepassingen die u hebt toegevoegd om het dialoogvenster COM-invoegtoepassingen weer te geven. Het dialoogvenster worden alle COM-invoegtoepassingen die zijn geïnstalleerd op uw systeem en de COM-invoegtoepassingen die zijn geladen zijn geselecteerd.

COM-invoegtoepassingen kan ook worden geladen en gelost via de gebruikersinterface van Excel. Ga hiervoor als volgt te werk:

  1. Klik op de Microsoft Office-knop en klik vervolgens op Opties voor Excel.

  2. Klik op Invoegtoepassingen.

  3. Klik op COM-invoegtoepassingenonder beheren, en klik vervolgens op Go .

    Het dialoogvenster COM-invoegtoepassingen worden alle COM-invoegtoepassingen die zijn geïnstalleerd op de computer. COM-invoegtoepassingen die zijn geladen, worden geselecteerd.

Voor meer informatie over COM-invoegtoepassingen, klikt u op de volgende artikelnummers om de artikelen in de Microsoft Knowledge Base:

238228 procedure: een Office 2000 COM-invoegtoepassing in Visual Basic maken

Voorbeeld van een 230689 : Comaddin.exe Office 2000 COM-invoegtoepassing in Visual C++ wordt geschreven

Zie voor meer informatie de volgende Microsoft-website:

Office-invoegtoepassingen
http://support.microsoft.com/ofd

Automatiseringsinvoegtoepassingen

Naast de COM-invoegtoepassingen, ondersteunt Excel automatisering-invoegtoepassingen automatiseringsinvoegtoepassingen build op COM-invoegtoepassingen in die functies in invoegtoepassingen voor automatisering van formules in Excel-werkbladen kunnen worden aangeroepen. COM-invoegtoepassingen moet in-process COM-servers die ondersteuning bieden voor de IDTExtensibility2 -interface worden echter kunnen automatiseringsinvoegtoepassingen in-process of out-of-process COM-servers en uitvoering van de IDTExtensibility2 is optioneel.

Als u functies van een invoegtoepassing automatisering in Excel, als volgt te werk:

  1. Klik in het menu Extra op Invoegtoepassingen.

  2. Klik op automatiseringin het dialoogvenster Invoegtoepassingen . Selecteer uw automatisering-invoegtoepassing uit de lijst met geregistreerde COM-servers, en op OK.

  3. De invoegtoepassing automatisering wordt weergegeven in het dialoogvenster invoegtoepassingen . Klik op OK om het dialoogvenster Invoegtoepassingen sluiten.

Als u functies van een invoegtoepassing automatisering in Excel 2007 en de nieuwere, volg deze stappen:

  1. Klik op de Microsoft Office-knop en klik vervolgens op Opties voor Excel.

  2. Klik op Invoegtoepassingen.

  3. Onder beheren, klikt u op Excel-invoegtoepassingenen klik vervolgens op Go.

  4. Klik op automatiseringin het dialoogvenster Invoegtoepassingen . Op uw automatisering-invoegtoepassing in de lijst met geregistreerde COM-servers, en klik vervolgens op OK.

    De invoegtoepassing automatisering wordt weergegeven in het dialoogvenster invoegtoepassingen . Klik op OK om het dialoogvenster Invoegtoepassingen sluiten.

Als u toevoegingen aan de lijst in het dialoogvenster Add-Ins of wanneer u en -invoegtoepassingen in de lijst uitschakelen, de wijzigingen opgeslagen in het register. Eerst wordt de volgende registerinstelling om te bepalen of een automatisering-invoegtoepassing in de lijst wordt geladen:

 Excel 2002
Key: HKEY_CURRENT_USER\Software\Microsoft\Office\10.0\Excel\Options
String: OPENx
Sample Value: /A "ServerName.ClassName"

Excel 2003
Key: HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Excel\Options
String: OPENx
Sample Value: /A "ServerName.ClassName"
Excel 2007
Key: HKEY_CURRENT_USER\Software\Microsoft\Office\12.0\Excel\Options
String: OPENx
Sample Value: /A "ServerName.ClassName"

Opmerking: Wijzig het nummer van de Office-versie op basis van de versie die u gebruikt.


De schakeloptie / die wordt gebruikt in de string-waarde met Excel, oudere en wordt gebruikt in Automatiseringsinvoegtoepassingen laden. Alle Automatiseringsinvoegtoepassingen worden geladen op aanvraag; Er is geen instelling die het laadgedrag van een invoegtoepassing automatisering kunt wijzigen.

Als u een invoegtoepassing voor automatisering die wordt vermeld in het dialoogvenster Invoegtoepassingen uitschakelt, wordt een subsleutel met een naam gelijk is aan de ProgID van de invoegtoepassing gemaakt in de volgende registersleutel:


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

HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Excel\Add-in Manager
Deze registerinstelling zorgt ervoor dat automatisering-invoegtoepassingen die u hebt toegevoegd aan de lijst met invoegtoepassingen in de lijst behouden blijven, zelfs als u hebt niet laden.

Zie de volgende artikelen in de Microsoft Knowledge Base voor meer informatie over automatisering-invoegtoepassingen:

285337 PROCEDUREBESCHRIJVING: een Visual Basic-automatiseringsprogramma voor Excel-werkbladfuncties maken

Zie voor meer informatie de volgende Microsoft-website:

Office-invoegtoepassingen
http://support.microsoft.com/ofd

Automatiseringsinvoegtoepassingen die IDTExtensibility2 implementeren

Zoals eerder vermeld, een invoegtoepassing automatisering kan IDTExtensibility2implementeren, maar is niet verplicht om Excel de functies in de invoegtoepassing aanroepen vanuit een werkblad. Als u wenst dat uw automatisering-invoegtoepassing een verwijzing naar het exemplaar van Excel wordt, kunt u IDTExtensibility2 implementeren en de parameter toepassing van OnConnection gebruiken om Excel te automatiseren.

Een invoegtoepassing voor automatisering die wordt geïmplementeerd
In de gebruikersinterface van Excel via het dialoogvenster COM-invoegtoepassingen in zowel het dialoogvenster Invoegtoepassingen kan IDTExtensibility2 worden geladen. De volgende beschrijft het gedrag van een automatisering-invoegtoepassing op basis van de geladen in een of beide van de volgende dialoogvensters:

  • Alleen in het dialoogvenster invoegtoepassingen geladen.

    De invoegtoepassing wordt geladen op aanvraag. Functies in de invoegtoepassing kunnen worden aangeroepen vanuit formules in een werkblad.

  • Alleen in het dialoogvenster COM-invoegtoepassingen geladen.

    De invoegtoepassing wordt geladen als een COM Add-in en het gedrag wordt bepaald door de instellingen in het register. Functies in de invoegtoepassing niet aanroepen vanuit formules in een werkblad.

  • In het dialoogvenster COM-invoegtoepassingen en het dialoogvenster invoegtoepassingen geladen.

    Twee afzonderlijke exemplaren van de invoegtoepassing worden geladen. Één exemplaar wordt geladen als een COM Add-in en het andere exemplaar Als Automatisering-invoegtoepassing wordt geladen. De instantie COM Add-in wordt gebruikt voor het laadgedrag vermeld in het register. de instantie automatiseringsinvoegtoepassing laden op aanvraag. De twee instanties werken onafhankelijk van elkaar en globale variabelen niet delen.

Omdat automatisering-invoegtoepassingen worden geladen op aanvraag, kan de invoegtoepassing laden in de bewerkingsmodus cel Excel proberen. Dus wanneer u een invoegtoepassing voor automatisering die IDTExtensibility2 ondersteuntontwikkelt, moet u voorzichtig zijn niet niets te doen die u probeert te wijzigen van de status van Excel terwijl de invoegtoepassing wordt geladen. Zie voor meer informatie het volgende artikel in de Microsoft Knowledge Base:

284876 BUG: mislukt wanneer een automatiseringsinvoegtoepassing laden in Excel

(c) Microsoft Corporation 2001, alle rechten voorbehouden. Bijdragen: Lori B. Turner, Microsoft Corporation.

Meer hulp nodig?

Uw vaardigheden uitbreiden
Training verkennen
Als eerste nieuwe functies krijgen
Deelnemen aan Microsoft insiders

Was deze informatie nuttig?

Hoe tevreden bent u met de vertaalkwaliteit?

Wat heeft uw ervaring beïnvloed?

Hebt u aanvullende feedback? (Optioneel)

Bedankt voor uw feedback.

×