Pregunta

Tengo un complemento COM de MS Office escrito en C # (Visual Studio 2005) y utiliza un archivo DLL de COM Shim. El complemento NO utiliza la tecnología VSTO y es compatible con Excel XP y superior. El complemento agrega una nueva barra de herramientas y un menú.

El complemento funciona bien en Excel 2007, pero se muestra en una pestaña separada llamada " AddIns " Junto con sus barras de herramientas y menú. Quiero integrar este complemento con la barra de herramientas de la cinta de Excel 2007 y crear una nueva pestaña con grupos y botones.

Revisé varios artículos y descubrí que IRibbonExtensibility es la interfaz que se usará para el soporte de Ribbon. Además, el COM Shim Wizards tiene una nueva versión 2.3 que admite la interfaz de cinta.

Quiero saber si se puede hacer y los cambios que se requerirán en el proyecto.

  1. Actualmente, el archivo office.dll de OfficeXP se usa en el proyecto (v 7.0). Pero la interfaz IRibbonExtensibility está en la dll de Office 2007 (v12). Así que creo que lo primero que debo hacer es cambiar esta dll y actualizar todas las referencias en el código. ¿Esta dll soporta versiones anteriores (compatible con versiones anteriores)? No quiero romper la funcionalidad existente.
  2. ¿Cuáles serán los cambios en COM Shim dll?
¿Fue útil?

Solución

No he usado OfficeXP, pero he creado complementos COM contra 2000, 2003 y 2007.

Recientemente construí un complemento COM para Office 2007 usando la interfaz IRibbonExtensibility, con referencias a los PIA v12.

Cuando utilicé esto con Office 2003, encontré que funcionó bastante bien. Sin embargo, mis complementos solo proporcionan una funcionalidad muy básica y no utilizan muchas llamadas a los objetos de Excel. Ajusté el método OnConnection para configurar los CommandBars solo si el Applicaiton.Version era menos de 12.

No hubo cambios de código que recuerde necesarios para cambiar de PIA de 2003 a PIA de 2007. En el pasado hemos encontrado que puedes cambiar entre diferentes versiones de los PIA con un mínimo esfuerzo.

James

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top