Programar personalizaciones de nivel de documento
Actualización: noviembre 2007
Se aplica a |
---|
La información de este tema sólo se aplica a los proyectos de Visual Studio Tools para Office y versiones de Microsoft Office especificados. Tipo de proyecto
Versión de Microsoft Office
Para obtener más información, vea Características disponibles por aplicación y tipo de proyecto. |
Si extiende Microsoft Office Word o Microsoft Office Excel con una personalización de nivel de documento, puede realizar las tareas siguientes:
Automatizar la aplicación de Microsoft Office mediante el modelo de objetos de la aplicación.
Agregar controles a la superficie del documento.
Llamar a código de Visual Basic para Aplicaciones (VBA) en el documento desde el ensamblado de personalización.
Llamar a código del ensamblado de personalización desde VBA.
Administrar ciertos aspectos del documento mientras está en un servidor que no tiene Microsoft Office instalado.
Personalizar la interfaz de usuario de la aplicación.
Para obtener información general sobre las personalización en el nivel de documento y otros tipos de soluciones que puede crear con Visual Studio Tools para Office, vea Información general sobre el desarrollo de soluciones de Office.
Escribir código en proyectos en el nivel de documento
Al crear un proyecto de nivel de documento, Visual Studio Tools para Office genera automáticamente una clase en el proyecto que puede utilizar para comenzar a escribir código. Visual Studio Tools para Office genera clases diferentes para Word y Excel:
En proyectos de nivel de documento para Word, la clase se denomina de forma predeterminada ThisDocument.
En proyectos de nivel de documento para Excel se generan varias clases: una para el propio libro y una para cada hoja de cálculo. De forma predeterminada, estas clases tienen los nombres siguientes:
ThisWorkbook
Sheet1
Sheet2
Sheet3
La clase generada incluye controladores de eventos a los que se llama cuando el documento se abre o se cierra. Para ejecutar código al abrir el documento, agregue código al controlador de eventos Startup. Para ejecutar código justo antes de que se cierre el documento, agregue código al controlador de eventos Shutdown. Para obtener más información, vea Eventos de proyectos de Visual Studio Tools para Office.
Cada una de las clases automáticamente generadas de un proyecto en el nivel de documento deriva de una clase de Visual Studio Tools para Office denominada elemento host. Por ejemplo, la clase ThisDocument de un proyecto de Word deriva del elemento host Microsoft.Office.Tools.Word.Document. Para obtener más información, consulte Información general sobre elementos y controles Host.
Tener acceso al modelo de objetos de la aplicación host
Para tener acceso al modelo de objetos de la aplicación host, utilice miembros de la clase generada en el proyecto. Cada una de estas clases corresponde a una clase del modelo de objetos de Excel o Word y contienen las mismas propiedades, métodos y eventos en su mayoría. Por ejemplo, la clase ThisDocument de un proyecto en el nivel de documento para Word proporciona en su mayoría los mismos miembros que la clase Microsoft.Office.Interop.Word.Document del modelo de objetos de Word.
En el ejemplo de código siguiente se muestra cómo utilizar el modelo de objetos de Word para guardar el documento que forma parte de una personalización en el nivel de documento para Word. Este ejemplo está diseñado para su ejecución desde la clase ThisDocument.
Me.Save()
this.Save();
Para conseguir el mismo resultado desde fuera de la clase ThisDocument, utilice el objeto Globals para tener acceso a la clase ThisDocument. Para obtener más información acerca del objeto Globals, vea Acceso global a objetos en proyectos de Visual Studio Tools para Office.
Por ejemplo, puede agregar este código a un archivo de código de panel de acciones si desea incluir un botón Guardar en la interfaz de usuario del panel de acciones.
Globals.ThisDocument.Save()
Globals.ThisDocument.Save();
Dado que la clase ThisDocument deriva del elemento host Microsoft.Office.Tools.Word.Document, el método Save al que se llama en este código es de hecho el método Save del elemento host Microsoft.Office.Tools.Word.Document. Este método corresponde al método Save de la clase Microsoft.Office.Interop.Word.Document en el modelo de objetos de Word.
Para obtener más información acerca del uso de los modelos de objetos de Word y Excel, vea Información general acerca del modelo de objetos de Word y Información general sobre el modelo de objetos de Excel.
Agregar controles a documentos
Para personalizar la interfaz de usuario del documento, puede agregar controles de formularios Windows Forms o controles host a la superficie del documento. Si combina diferentes conjuntos de controles y escribe código, puede enlazar los controles a datos, recopilar información del usuario y responder a acciones del usuario.
Los controles host son clases que extienden algunos de los objetos de los modelos de objetos de Word y Excel. Por ejemplo, el control host Microsoft.Office.Tools.Excel.ListObject proporciona toda la funcionalidad de Microsoft.Office.Interop.Excel.ListObject en Excel. Sin embargo, el control host Microsoft.Office.Tools.Excel.ListObject también tiene eventos adicionales y funciones de enlace de datos.
Para obtener más información, consulte Información general sobre elementos y controles Host y Información general sobre controles de formularios Windows Forms en documentos de Office.
Combinar personalizaciones de VBA y de nivel de documento
Puede utilizar código de VBA en un documento que forma parte de una personalización de nivel de documento de Visual Studio Tools para Office. En todos los proyectos de nivel de documento, puede llamar a código de VBA del documento desde el ensamblado de personalización. En los proyectos de nivel de documento para Microsoft Office System 2007, también puede configurar el proyecto para permitir que código de VBA del documento llame a código del ensamblado de personalización.
Para obtener más información, consulte Combinar personalizaciones de VBA y de nivel de documento.
Administrar documentos en un servidor
Puede administrar diferentes aspectos de las personalizaciones de nivel de documento en un servidor que no tiene Microsoft Office Word o Microsoft Office Excel instalado. Por ejemplo, puede obtener acceso y modificar los datos en la caché de datos del documento. También puede administrar el ensamblado de personalización de Visual Studio Tools para Office asociado al documento. Por ejemplo, puede quitar mediante programación el ensamblado del documento para que éste ya no ejecute el código, o bien puede asociar mediante programación un ensamblado a un documento.
Para obtener más información, consulte Administrar documentos en un servidor mediante la clase ServerDocument.
Personalizar la interfaz de usuario de aplicaciones de Microsoft Office
Puede personalizar la interfaz de usuario de Word y Excel con una personalización de nivel de documento.
Tanto en las versiones 2007 y 2003 de Microsoft Office
En Microsoft Office 2003 y Microsoft Office System 2007, puede personalizar la interfaz de usuario de las maneras siguientes:
Agregar controles host o controles de formularios Windows Forms a la superficie del documento.
Para obtener más información, vea Controles Host de Word, Controles Host de Excel e Información general sobre controles de formularios Windows Forms en documentos de Office.
Agregar un panel de acciones al documento.
Para obtener más información, consulte Información general sobre paneles de acciones.
Agregar etiquetas inteligentes al documento.
Para obtener más información, consulte Información general sobre etiquetas inteligentes.
Versión 2007
En Word 2007 y Excel 2007, también puede personalizar la interfaz de usuario de las siguientes formas:
Agregar fichas personalizadas a la cinta de opciones.
Para obtener más información, vea Información general sobre la cinta de opciones.
Agregar grupos personalizados a una ficha integrada en la cinta de opciones.
Para obtener más información, consulte Cómo: Personalizar una ficha integrada.
Versión 2003
En Word 2003 y Excel 2003, también puede personalizar la interfaz de usuario de las siguientes formas:
Agregar barras de herramientas y elementos de barra de herramientas personalizados.
Para obtener más información, consulte Cómo: Crear barras de herramientas de Office mediante programación.
Agregar menús y elementos de menú.
Para obtener más información, consulte Cómo: Crear menús de Office mediante programación.
Para obtener más información sobre cómo personalizar la interfaz de usuario de las aplicaciones de Microsoft Office, vea Personalización de la interfaz de usuario de Office.
Vea también
Tareas
Cómo: Crear y modificar propiedades personalizadas para documentos
Cómo: Leer y escribir en propiedades de un documento
Conceptos
Combinar personalizaciones de VBA y de nivel de documento
Administrar documentos en un servidor mediante la clase ServerDocument