Complementos COM y complementos de automatización de Excel

Seleccione idioma Seleccione idioma
Id. de artículo: 291392 - Ver los productos a los que se aplica este artículo
Expandir todo | Contraer todo

Resumen

Microsoft Office Excel 2002 y Microsoft Office 2007 admiten complementos de automatización en además a los complementos modelo de objetos componentes (COM). En este artículo explica las diferencias entre estos dos tipos de complementos.

Más información

Complementos COM

Complementos COM presente al programador una manera de ampliar la funcionalidad de aplicaciones de Office 2000, Office XP, Office 2003 y Office 2007 para tareas personalizadas. Complementos COM suelen utilizarse para automatizar Excel en respuesta a un clic de un botón CommandBar, un formulario o cuadro de diálogo o algún otro evento específico de Excel, como abrir o cerrar libros o introducir datos en hojas de cálculo. Las funciones del complemento COM no pueden llamarse directamente desde fórmulas de celda en hojas de cálculo.

Un complemento COM es un servidor de COM en proceso (una DLL de ActiveX) que debe implementar la interfaz IDTExensibility2 . Todos los complementos COM deben implementar cada uno de los cinco métodos de esta interfaz: OnConnection , OnStartupComplete , OnAddinsUpdate , OnBeginShutDown y OnDisconnection .

Cuando un complemento COM está instalado en un sistema de usuario, se crean las entradas del registro para el complemento. Junto con COM normal registro, un complemento COM está registrado para cada aplicación de Office en el que se ejecuta. Complementos COM utilizado por Excel están registrados en la siguiente clave del registro:
HKEY_CURRENT_USER\Software\Microsoft\Office\Excel\Addins\ 
					
Esta clave contiene una subclave para cada instalado COM Add-in. El nombre de la subclave es el ProgID para el complemento COM. La subclave para un complemento COM también contiene valores que describen el complemento COM del nombre descriptivo, descripción y comportamiento de carga. El comportamiento de carga describe cómo el complemento está cargado en Excel: carga al inicio, cargado en el siguiente inicio sólo carga a petición, o no cargado.

También se pueden cargar complementos COM y descarga a través de la interfaz de usuario de Excel 2002. Para ello, siga estos pasos:
  1. En el menú Ver , elija barras de herramientas y, a continuación, haga clic en Personalizar .
  2. En el cuadro de diálogo barras de herramientas , haga clic en la ficha Avanzadas . En la lista de categorías, seleccione Herramientas . Busque complementos COM en la lista de comandos y arrastre el comando a un menú o CommandBar de su elección. Cerrar el cuadro de diálogo barras de herramientas .
  3. Haga clic en el comando complementos COM que agregó a mostrar el cuadro de diálogo complementos COM . El cuadro de diálogo muestra todos los complementos COM instalados en su sistema y se seleccionan los complementos con COM que están cargados actualmente.
También se pueden cargar complementos COM y descarga a través de la interfaz de usuario de Excel 2007. Para ello, siga estos pasos:
  1. Haga clic en el Botón de Microsoft Office y, a continuación, haga clic en Opciones de Excel .
  2. Haga clic en Complementos .
  3. En Administrar , haga clic en complementos de COM y, a continuación, haga clic en Ir .

    El cuadro de diálogo complementos COM muestra todos los complementos COM instalados en el equipo. Las COM agregar-macros que estén cargadas actualmente se seleccionan.
Para obtener información adicional acerca de complementos COM, haga clic en los números de artículo siguientes para verlos en Microsoft Knowledge Base:
238228Cómo: Crear un Office 2000 COM Add-in en Visual Basic
230689EJEMPLO: Comaddin.exe Office 2000 complemento COM escrito en C++
Para obtener más información, visite el siguiente sitio Web de Microsoft:
Complementos de Office
http://support.microsoft.com/ofd

Complementos de automatización

Junto con complementos COM, Excel 2002 y Excel 2003 admite automatización ins. Agregar automatización complementos generar en complementos COM en que las funciones de complementos de automatización pueden llamarse desde fórmulas en hojas de cálculo de Excel. Complementos COM deben ser servidores COM en proceso que admiten la interfaz IDTExtensibility2 ; sin embargo, complementos de automatización pueden ser los servidores COM en proceso o fuera de proceso y la implementación de IDTExtensibility2 es opcional.

Para utilizar las funciones de un complemento de automatización en Excel, siga estos pasos:
  1. En el menú Herramientas , haga clic en Complementos .
  2. En el cuadro de diálogo Complementos , haga clic en automatización . En la lista de servidores COM registrados, seleccione su automatización de complementos y haga clic en Aceptar .
  3. El complemento de automatización aparece en el cuadro de diálogo complementos . Haga clic en Aceptar para cerrar el cuadro de diálogo Complementos .
Para utilizar las funciones de un complemento de automatización en Excel 2007, siga estos pasos:
  1. Haga clic en el Botón de Microsoft Office y, a continuación, haga clic en Opciones de Excel .
  2. Haga clic en Complementos .
  3. En Administrar , haga clic en complementos de Excel y, a continuación, haga clic en Ir .
  4. En el cuadro de diálogo Complementos , haga clic en automatización . En la lista de servidores COM registrados, haga clic en la automatización del complemento de y, a continuación, haga clic en Aceptar .

    El complemento de automatización aparece en el cuadro de diálogo complementos . Haga clic en Aceptar para cerrar el cuadro de diálogo Complementos .
Al realizar adiciones a la lista en el cuadro de diálogo Complementos , o cuando Active y desactive complementos en la lista, Excel almacena los cambios en el registro. En primer lugar, Excel utiliza la configuración para determinar si es o no está cargado un complemento de automatización en el agregar - en la lista de registro siguiente:
 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"
					
El modificador /A que se utiliza en el valor de cadena es nuevo en Excel 2002 o Excel 2003 y se utiliza específicamente para cargar complementos de automatización. Automatización de todos los complementos se cargan a petición; no hay ninguna opción que puede cambiar el comportamiento de carga para un complemento de automatización.

Cuando se desactiva un complemento de automatización que aparece en el cuadro de diálogo Complementos , una subclave con un igual de nombre a la - del ProgID se crea en la siguiente clave del registro:
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
					
Este valor del registro garantiza que automatización complementos que haya agregado a la lista de complementos se conservan en la lista incluso cuando haya elegido no cargarlos.

Para obtener más información acerca de automatización de complementos, consulte los artículos siguientes en Microsoft Knowledge Base:
285337Cómo: Crear un complemento de automatización de Visual Basic para funciones de hoja de cálculo de Excel
Para obtener más información, visite el siguiente sitio Web de Microsoft:
Complementos de Office
http://support.microsoft.com/ofd

Complementos de automatización que IDTExtensibility2 implementar

Como se mencionó anteriormente, un complemento de automatización, puede implementar IDTExtensibility2 , pero no es necesario en orden llamar a las funciones en el complemento de una hoja de cálculo en Excel. Si necesita que su complemento de automatización obtiene una referencia a la instancia de Excel, puede implementar IDTExtensibility2 y utilice el parámetro de aplicación de OnConnection para automatizar Excel.

Un complemento de automatización que implementa IDTExtensibility2 se puede cargar en la interfaz de usuario de Excel mediante el cuadro de diálogo Complementos COM y el cuadro de diálogo Complementos . La siguiente describe el comportamiento de una automatización de según si está cargado en uno o ambos de estos cuadros de diálogo:
  • Sólo cargará en el cuadro de diálogo complementos .

    El complemento se carga en la demanda. Funciones en el complemento pueden llamarse desde fórmulas en una hoja de cálculo.
  • Sólo cargará en el cuadro de diálogo complementos COM .

    El complemento se carga como un complemento COM y se determina su comportamiento de carga desde la configuración en el registro. Funciones en el complemento no pueden llamarse desde fórmulas en una hoja de cálculo.
  • Cargar en el cuadro de diálogo complementos COM y en el cuadro de diálogo complementos .

    Se cargan dos instancias independientes del complemento. Una instancia se carga como un complemento COM y la otra instancia se carga como un complemento de automatización. La instancia del complemento COM utiliza el comportamiento de carga indicado en el registro; la instancia de complemento de automatización se carga a petición. Las dos instancias trabajan independientemente de otra y no comparten variables globales.
Porque los complementos de automatización se cargan a petición, Excel puede intentar cargar el complemento mientras está en modo de edición de celda. Por tanto, al desarrollar un complemento de automatización que admita IDTExtensibility2 , debe tener cuidado de no hacer nada que intenta cambiar de Excel mientras el agregar - en carga el estado. Para obtener más información, vea el artículo siguiente en Microsoft Knowledge Base:
284876Error: Error de Excel al complemento de automatización carga
(c) Microsoft Corporation 2001, reservados todos los derechos. Contribuciones por Lori B. Turner, Microsoft Corporation.

Propiedades

Id. de artículo: 291392 - Última revisión: miércoles, 10 de enero de 2007 - Versión: 4.2
La información de este artículo se refiere a:
  • Microsoft Office Excel 2007
  • Microsoft Office Excel 2003
  • Microsoft Excel 2002 Standard Edition
Palabras clave: 
kbmt kbautomation kbinfo KB291392 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 291392

Enviar comentarios

 

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