Componenti aggiuntivi COM e componenti aggiuntivi di automazione di Excel

Riepilogo

Microsoft Office Excel supporta componenti aggiuntivi di automazione oltre a componenti aggiuntivi di Component Object Model (COM). In questo articolo vengono illustrate le differenze tra questi due tipi di componenti aggiuntivi.

Ulteriori informazioni

Componenti aggiuntivi COM

Componenti aggiuntivi COM presenti allo sviluppatore la possibilità di estendere le funzionalità delle applicazioni di Office per attività personalizzate. Componenti aggiuntivi COM vengono in genere utilizzati per automatizzare Excel in risposta a un clic di un pulsante CommandBar, una maschera o nella finestra di dialogo o ad altri eventi specifici quali l'apertura o la chiusura di cartelle di lavoro o l'immissione di dati in fogli di lavoro. Funzioni COM Add-in non possono essere chiamate direttamente da formule nei fogli di lavoro.

Un COM Add-in è un server COM in-process (una DLL ActiveX) che deve implementare l'interfaccia IDTExensibility2 . Tutti i componenti aggiuntivi COM devono implementare ciascuno dei cinque metodi di questa interfaccia: OnConnection, OnStartupComplete, OnBeginShutDown, OnAddinsUpdatee OnDisconnection.

Quando un COM Add-in è installato sul sistema dell'utente, le voci di registro vengono create per il componente aggiuntivo. Oltre a normale registrazione COM, viene registrato un COM Add-in per ogni applicazione di Office in cui viene eseguito. Nella seguente chiave del Registro di sistema vengono registrati i componenti aggiuntivi COM utilizzati da Excel:

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

Questa chiave contiene una sottochiave per ogni installazione COM Add-in. Il nome della sottochiave è il ProgID per COM Add-in. La sottochiave per un COM Add-in contiene inoltre valori che descrivono nome di il componente, descrizione e il comportamento. Il comportamento di caricamento descrive come il componente aggiuntivo viene caricato in Excel: caricato all'avvio, caricato all'avvio successivo, caricato su richiesta o non caricato.

Componenti aggiuntivi COM possono anche essere caricato e scaricato mediante l'interfaccia utente di Excel. A tale scopo, attenersi alla seguente procedura:

  1. Dal menu Visualizza , scegliere barre degli strumenti e quindi fare clic su Personalizza.

  2. Nella finestra di dialogo barre degli strumenti , fare clic sulla scheda Avanzate . Nell'elenco delle categorie, selezionare Strumenti. Individuare i componenti aggiuntivi COM nell'elenco dei comandi e trascinare il comando a un menu o sulla CommandBar desiderata. Chiudere la finestra di dialogo barre degli strumenti .

  3. Scegliere il comando componenti aggiuntivi COM che è stato aggiunto per visualizzare la finestra di dialogo componenti aggiuntivi COM . La finestra di dialogo elenca tutti componenti aggiuntivi COM installati nel sistema e vengono selezionati i componenti aggiuntivi COM attualmente caricati.

Componenti aggiuntivi COM possono anche essere caricato e scaricato mediante l'interfaccia utente di Excel. A tale scopo, attenersi alla seguente procedura:

  1. Fare clic sul pulsante Microsoft Office, quindi fare clic su Opzioni di Excel.

  2. Fare clic su Componenti aggiuntivi.

  3. In Gestione, fare clic su componenti COM aggiuntivie quindi fare clic su Vai .

    La finestra di dialogo componenti aggiuntivi COM sono elencati tutti componenti aggiuntivi COM installati nel computer. Vengono selezionati i componenti aggiuntivi COM attualmente caricati.

Per ulteriori informazioni sui componenti aggiuntivi COM, fare clic sui numeri per visualizzare gli articoli della Microsoft Knowledge Base riportato di seguito:

238228 HOWTO: creare un Office 2000 componente aggiuntivo COM in Visual Basic

230689 esempio: Comaddin.exe Office 2000 componente aggiuntivo COM scritto in Visual C++

Per ulteriori informazioni, vedere il seguente sito Web Microsoft:

Componenti aggiuntivi di Office
http://support.microsoft.com/ofd

Componenti aggiuntivi di automazione

Oltre a componenti aggiuntivi COM, Excel supporta compilazione di componenti aggiuntivi di automazione automazione Add-ins in componenti aggiuntivi COM in funzioni nei componenti aggiuntivi di automazione possono essere chiamate da formule nei fogli di lavoro di Excel. Componenti aggiuntivi COM devono essere server COM in-process che supportano l'interfaccia IDTExtensibility2 . Tuttavia, componenti aggiuntivi di automazione possono essere server COM in-process o out-of-process e implementazione di IDTExtensibility2 è facoltativa.

Per utilizzare le funzioni da un componente aggiuntivo di automazione Excel, attenersi alla seguente procedura:

  1. Dal menu Strumenti, fare clic su Add-Ins.

  2. Nella finestra di dialogo Componenti aggiuntivi , fare clic su automazione. Dall'elenco dei server COM registrati, selezionare il componente aggiuntivo di automazione e fare clic su OK.

  3. Il componente aggiuntivo di automazione viene visualizzato nella finestra di dialogo componenti aggiuntivi . Fare clic su OK per chiudere la finestra di dialogo Componenti aggiuntivi .

Per utilizzare le funzioni da un componente aggiuntivo di automazione in Excel 2007 e versioni più recenti, eseguire la procedura seguente:

  1. Fare clic sul pulsante Microsoft Office, quindi fare clic su Opzioni di Excel.

  2. Fare clic su Componenti aggiuntivi.

  3. In Gestione, fare clic su Excel aggiuntivie quindi fare clic su Vai.

  4. Nella finestra di dialogo Componenti aggiuntivi , fare clic su automazione. Nell'elenco dei server COM registrati, selezionare il componente aggiuntivo di automazione e quindi fare clic su OK.

    Il componente aggiuntivo di automazione viene visualizzato nella finestra di dialogo componenti aggiuntivi . Fare clic su OK per chiudere la finestra di dialogo Componenti aggiuntivi .

Quando si effettuano aggiunte all'elenco nella finestra di dialogo Componenti aggiuntivi o quando si selezionano e cancellano componenti aggiuntivi nell'elenco, le modifiche vengono memorizzate nel Registro di sistema. Viene innanzitutto utilizzata la seguente chiave di registro per determinare se un componente aggiuntivo di automazione nell'elenco componente aggiuntivo viene caricato:

 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"

Nota: Modificare il numero di versione di Office in base alla versione in uso.


Il parametro /a che viene utilizzato il valore di stringa è più vecchi e nuovi utenti di Excel e viene utilizzato in modo specifico per caricare componenti aggiuntivi di automazione. Tutti i componenti aggiuntivi automazione vengono caricati su richiesta. non vi è alcuna impostazione che è possibile modificare il comportamento di caricamento di un componente aggiuntivo di automazione.

Quando un componente aggiuntivo di automazione elencato nella finestra di dialogo Componenti aggiuntivi è deselezionato, viene creata una sottochiave con un nome corrispondente al ProgID del componente aggiuntivo nella seguente chiave del Registro di sistema:


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
Questa impostazione del Registro di sistema assicura che l'automazione componenti aggiuntivi che sono stati aggiunti all'elenco componenti aggiuntivi vengono mantenuti nell'elenco anche quando si è scelto di non caricarli.

Per ulteriori informazioni sull'automazione componenti aggiuntivi, vedere i seguenti articoli della Microsoft Knowledge Base:

285337 HOWTO: creare un componente aggiuntivo di automazione di Visual Basic per le funzioni del foglio di lavoro di Excel

Per ulteriori informazioni, vedere il seguente sito Web Microsoft:

Componenti aggiuntivi di Office
http://support.microsoft.com/ofd

Componenti aggiuntivi di automazione che implementano IDTExtensibility2

Come accennato in precedenza, un componente aggiuntivo di automazione che implementano IDTExtensibility2, ma non è necessario affinché la chiamare le funzioni del componente aggiuntivo da un foglio di lavoro di Excel. Se è necessario che il componente aggiuntivo di automazione Ottiene un riferimento all'istanza di Excel, è possibile implementare IDTExtensibility2 e utilizzare il parametro di applicazione di OnConnection per automatizzare Excel.

Un componente aggiuntivo di automazione che implementa
IDTExtensibility2 possono essere caricati nell'interfaccia utente di Excel mediante la finestra di dialogo Componenti aggiuntivi COM e la finestra di dialogo Componenti aggiuntivi . Di seguito viene descritto il comportamento di un componente aggiuntivo di automazione basato su viene caricato in una o entrambe queste finestre di dialogo:

  • Caricare solo nella finestra di dialogo componenti aggiuntivi .

    Il componente aggiuntivo viene caricato su richiesta. Funzioni del componente aggiuntivo possono essere chiamate da formule nel foglio di lavoro.

  • Caricare solo nella finestra di dialogo componenti aggiuntivi COM .

    Il componente aggiuntivo viene caricato come un COM Add-in e il relativo comportamento è determinato dalle impostazioni del Registro di sistema. Impossibile chiamare le funzioni del componente aggiuntivo da formule nel foglio di lavoro.

  • Caricare la finestra di dialogo componenti aggiuntivi COM sia la finestra di dialogo componenti aggiuntivi .

    Due istanze separate del componente aggiuntivo vengono caricate. Un'istanza viene caricata come un COM Add-in e l'altra istanza viene caricata come un componente aggiuntivo di automazione. L'istanza COM Add-in utilizza il comportamento di caricamento indicato nel Registro di sistema. l'istanza del componente aggiuntivo di automazione Carica su richiesta. Le due istanze funzionano indipendentemente uno da altro e non condividono variabili globali.

Poiché i componenti aggiuntivi di automazione sono caricati su richiesta, Excel potrebbe tentare di caricare il componente aggiuntivo mentre è in modalità di modifica. Quando si sviluppa un componente aggiuntivo di automazione che supporta IDTExtensibility2, è necessario pertanto fare attenzione a non eseguire alcuna operazione che tenta di modificare lo stato di Excel durante il caricamento del componente aggiuntivo. Per ulteriori informazioni, vedere il seguente articolo della Microsoft Knowledge Base:

BUG 284876 : Excel ha esito negativo quando componente aggiuntivo di automazione carichi

(c) 2001, Microsoft Corporation, tutti i diritti riservati. Contributo di Lori B. Turner, Microsoft Corporation.

Serve aiuto?

Amplia le tue competenze
Esplora i corsi di formazione
Ottieni in anticipo le nuove caratteristiche
Partecipa a Microsoft Insider

Queste informazioni sono risultate utili?

Grazie per il feedback!

Grazie per il tuo feedback! Potrebbe essere utile metterti in contatto con uno dei nostri operatori del supporto di Office.

×