Share via


Información general acerca del modelo de objetos de Word

Actualización: Julio de 2008

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

  • Proyectos de nivel de documento

  • Proyectos de nivel de aplicación

Versión de Microsoft Office

  • Word 2003

  • Word 2007

Para obtener más información, vea Características disponibles por aplicación y tipo de proyecto.

Para desarrollar soluciones de Visual Studio Tools para Office para Microsoft Office Word, puede interactuar con el modelo de objetos de Word. Este modelo de objetos está compuesto de clases e interfaces que se proporcionan en el ensamblado de interoperabilidad primario para Word y que se definen en el espacio de nombres Microsoft.Office.Interop.Word.

En este tema se describen los aspectos siguientes del uso del modelo de objetos de Word:

  • Descripción del modelo de objetos de Word

  • Objetos extendidos en proyectos de Visual Studio Tools para Office

  • Usar la documentación del modelo de objetos de Word

Para obtener información sobre cómo utilizar el modelo de objetos de Word para realizar tareas en proyectos de Visual Studio Tools para Office, vea los temas siguientes:

Descripción del modelo de objetos de Word

Word proporciona centenares de objetos con los que se puede interactuar. Estos objetos se organizan en una jerarquía que sigue estrechamente la interfaz de usuario. En la parte superior de la jerarquía se encuentra el objeto Application. Este objeto representa la instancia actual de Word. El objeto Application contiene los objetos Document, Selection, Bookmark y Range. Cada uno de estos objetos incluye numerosos métodos y propiedades a los que puede acceder para su manipulación y la interacción mutua.

En la ilustración siguiente se muestra una vista de estos objetos en la jerarquía del modelo de objetos de Word.

Resumen del modelo de objetos de Word

A primera vista, parece producirse un alto nivel de superposición. Por ejemplo, los objetos Document y Selection son miembros del objeto Application, pero el objeto Document también es miembro del objeto Selection. Tanto el objeto Document como el objeto Selection contienen objetos Bookmark y Range. El solapamiento se produce porque hay varias maneras de obtener acceso al mismo tipo de objeto. Por ejemplo, es posible aplicar formato a un objeto Range, pero puede que desee tener acceso al intervalo de la selección actual, de un párrafo concreto, de una sección o de todo el documento.

En la sección siguiente se explican brevemente los objetos de nivel superior y cómo interactúan entre sí. Estos objetos incluyen los cinco siguientes:

  • Application

  • Document

  • Selection

  • Range

  • Bookmark

Visual Studio Tools para Office también extiende muchos de estos objetos en elementos host y controles host. Estos objetos extendidos se pueden utilizar en proyectos en el nivel del documento o, a partir de Visual Studio 2008 Service Pack 1 (SP1), en proyectos en el nivel de la aplicación para Word 2007. Los elementos host y los controles host presentan funciones adicionales, tales como eventos y capacidades de enlace de datos. Para obtener más información sobre los controles host, vea Objetos extendidos en proyectos de Visual Studio Tools para Office.

Objeto Application

El objeto Application representa la aplicación de Word y es el principal de todos los demás objetos. Sus miembros normalmente son aplicables a Word en su totalidad. Se pueden utilizar sus propiedades y métodos para controlar el entorno de Word.

En los proyectos de complemento en el nivel de la aplicación, puede obtener acceso al objeto Application mediante el campo Application de la clase ThisAddIn. Para obtener más información, consulte Programar complementos de nivel de aplicación.

En los proyectos en el nivel del documento, puede obtener acceso al objeto Application mediante la propiedad Application de la clase ThisDocument.

Objeto Document

El objeto Microsoft.Office.Interop.Word.Document es fundamental para la programación de Word. Representa un documento y todos su contenido. Al abrir un documento o crear uno nuevo, se crea un nuevo objeto Microsoft.Office.Interop.Word.Document que se agrega a la colección Documents del objeto Application. El documento que tiene el foco se denomina documento activo. Se representa mediante la propiedad ActiveDocument del objeto Application.

Visual Studio Tools para Office extiende el objeto Microsoft.Office.Interop.Word.Document, proporcionando la clase Microsoft.Office.Tools.Word.Document. Esta clase es un elemento host que proporciona acceso a todos los miembros de la clase Microsoft.Office.Interop.Word.Document nativa y agrega eventos adicionales, además de aportar la capacidad de agregar controles administrados y etiquetas inteligentes. Para obtener más información, consulte Información general sobre elementos y controles Host.

Al crear un proyecto en el nivel de documento, Visual Studio Tools para Office genera una clase denominada ThisDocument, que deriva de la clase Microsoft.Office.Tools.Word.Document. Puede obtener acceso a los miembros de la clase Microsoft.Office.Tools.Word.Document si utiliza las palabras clave Me o this en la clase ThisDocument o bien si usa Globals.ThisDocument desde código fuera de la clase ThisDocument. Por ejemplo, para seleccionar el primer párrafo del documento, utilice el código siguiente.

Me.Paragraphs(1).Range.Select()
this.Paragraphs[1].Range.Select();

A partir del SP1, puede generar elementos host Microsoft.Office.Tools.Word.Document en tiempo de ejecución utilizando los complementos en el nivel de la aplicación para Word 2007. Puede utilizar el elemento host generado para agregar controles y etiquetas inteligentes al documento asociado. Para obtener más información, vea Ampliar documentos de Word y libros de Excel en complementos en el nivel de la aplicación en tiempo de ejecución.

Objeto Selection

El objeto Selection representa el área seleccionada en cada momento. Cuando se realiza una operación en la interfaz de usuario de Word, como poner texto en negrita, se selecciona o resalta el texto y, a continuación, se aplica el formato. El objeto Selection siempre está presente en un documento. Si no hay nada seleccionado, representa el punto de inserción. Además, una selección puede estar formada por varios bloques de texto no contiguos.

Objeto Range

El objeto Range representa un área contigua de un documento, y se define mediante una posición de carácter inicial y una posición de carácter final. Pueden utilizarse varios objetos Range a la vez. Asimismo, se pueden definir múltiples objetos Range en el mismo documento. El objeto Range tiene las siguientes características:

  • Puede ser el punto de inserción solamente, un intervalo de texto o el documento completo.

  • Incluye caracteres no imprimibles como espacios, caracteres de tabulación y marcas de párrafo.

  • Puede ser el área representada por la selección actual, o puede representar un área diferente de la selección actual.

  • No está visible en los documentos, a diferencia de una selección, que siempre está visible.

  • No se guarda con un documento y sólo existe mientras se ejecuta el código.

Cuando se inserta texto al final de un intervalo, Word amplía éste automáticamente para que incluya el nuevo texto.

Objetos de control de contenido

Microsoft.Office.Interop.Word.ContentControl proporciona un método para controlar la entrada y la presentación de texto y otros tipos de contenido en documentos de Word 2007. Microsoft.Office.Interop.Word.ContentControl puede mostrar varios tipos diferentes de interfaz de usuario que se optimizan para el uso en documentos de Word, como un control de texto enriquecido, un selector de fecha o un cuadro combinado. También puede utilizar Microsoft.Office.Interop.Word.ContentControl para evitar que los usuarios editen secciones del documento o la plantilla.

Visual Studio Tools para Office extiende el objeto Microsoft.Office.Interop.Word.ContentControl en varios controles host diferentes. En tanto que el objeto Microsoft.Office.Interop.Word.ContentControl puede mostrar cualquiera de los diferentes tipos de interfaz de usuario disponibles para los controles de contenido, Visual Studio Tools para Office proporciona una clase diferente para cada tipo de interfaz de usuario. Por ejemplo, puede utilizar RichTextContentControl para crear un control de texto enriquecido o puede utilizar DatePickerContentControl para crear un selector de fecha. Estos controles host se comportan como un Microsoft.Office.Interop.Word.ContentControl nativo, pero incluyen eventos adicionales y funciones de enlace de datos.

Para obtener más información, consulte Controles de contenido.

Objeto Bookmark

El objeto Microsoft.Office.Interop.Word.Bookmark representa un área contigua en un documento, con una posición inicial y una posición final. Los marcadores se utilizan para marcar una ubicación en un documento o como contenedores de texto en un documento. Un objeto Microsoft.Office.Interop.Word.Bookmark puede constar del punto de inserción, o bien, puede contener todo el documento. Un objeto Microsoft.Office.Interop.Word.Bookmark tiene las siguientes características que lo distinguen del objeto Range:

  • Es posible asignar un nombre al marcador en tiempo de diseño.

  • Los objetos Microsoft.Office.Interop.Word.Bookmark se guardan con el documento y, por lo tanto, no se eliminan cuando se detiene la ejecución del código o se cierra el documento.

  • Los marcadores pueden estar ocultos o hacerse visibles estableciendo la propiedad ShowBookmarks del objeto View en false o en true.

Visual Studio Tools para Office extiende el objeto Microsoft.Office.Interop.Word.Bookmark en un control host. El control Microsoft.Office.Tools.Word.Bookmark se comporta como un Microsoft.Office.Interop.Word.Bookmark nativo, pero incluye eventos adicionales y funciones de enlace a datos. Es posible enlazar datos a un control de marcador (Bookmark) de un documento de la misma manera que se enlazan datos a un control de cuadro de texto en un formulario Windows Forms.

Para obtener más información, vea Bookmark (Control).

Objetos extendidos en proyectos de Visual Studio Tools para Office

Es importante comprender las diferencias entre los objetos nativos proporcionados por el modelo de objetos de Word y los objetos extendidos (elementos host y controles host) proporcionados por Visual Studio Tools para Office. Los dos tipos de objetos están disponibles para los proyectos en el nivel del documento y en el nivel de la aplicación para Word 2007. Para obtener más información, vea Información general sobre elementos y controles Host.

Las diferencias se encuentran en las cuatro áreas siguientes:

  • Tiempo de diseño. Al agregar cualquier control de Word extendido en tiempo de diseño a una personalización en el nivel del documento, se crean automáticamente como controles host. Por ejemplo, si agrega un marcador a un documento en el diseñador, se genera automáticamente el código necesario para extender el marcador y convertirlo en un control Microsoft.Office.Tools.Word.Bookmark.

  • Tiempo de ejecución. Los elementos host no se crean automáticamente en tiempo de ejecución. Si se agregan documentos en tiempo de ejecución utilizando el método Add, serán objetos Microsoft.Office.Interop.Word.Document y no tendrán las funciones adicionales que proporcionan los elementos host Microsoft.Office.Tools.Word.Document. Puede agregar controles host mediante programación a los documentos utilizando los métodos auxiliares que proporciona Visual Studio Tools para Office. Para obtener más información, vea Limitaciones de programación de elementos y controles Host.

    Nota:

    A partir del SP1, puede crear Microsoft.Office.Tools.Word.Document elementos host en tiempo de ejecución utilizando los complementos en el nivel de la aplicación para Word 2007. Para obtener más información, vea Ampliar documentos de Word y libros de Excel en complementos en el nivel de la aplicación en tiempo de ejecución.

  • Nuevas características. Los elementos y controles host poseen características que no están disponibles para los objetos nativos. Los elementos host pueden actuar como contenedores para controles administrados y disponen de eventos adicionales. Los controles host se pueden enlazar a datos y pueden poseer eventos adicionales.

  • Tipos. Los objetos de Word nativos utilizan los tipos definidos en el espacio de nombres Microsoft.Office.Interop.Word del ensamblado de interoperabilidad primario para Word, mientras que los elementos y controles host utilizan los tipos definidos en el espacio de nombres Microsoft.Office.Tools.Word del motor en tiempo de ejecución de Visual Studio Tools para Office.

Usar la documentación del modelo de objetos de Word

Para obtener información sobre las clases que se pueden utilizar en el modelo de objetos de Word, vea los siguientes conjuntos de documentación:

El primer vínculo proporciona información sobre las clases e interfaces en el ensamblado de interoperabilidad primario para Word. Los otros vínculos proporcionan información sobre el modelo de objetos de Word tal como se expone al código de Visual Basic para Aplicaciones (VBA). Cada conjunto de documentación presenta ventajas y desventajas para los programadores que utilizan Visual Studio Tools para Office.

Referencia del ensamblado de interoperabilidad primario

En esta documentación se describen todos los tipos del ensamblado de interoperabilidad primario de Word que puede utilizar en proyectos de Visual Studio Tools para Office. Sin embargo, esta documentación presenta las desventajas siguientes:

  • Describe sólo los tipos del ensamblado de interoperabilidad primario para Word 2003. Para ver las descripciones de nuevos tipos y miembros del ensamblado de interoperabilidad primario para Word 2007, debe consultar la referencia de VBA para Word 2007.

  • Actualmente no proporciona ningún ejemplo de código.

Referencia de VBA

Todos los objetos y miembros en la referencia de VBA corresponden a las clases y miembros del ensamblado de interoperabilidad primario que utiliza en proyectos de Visual Studio Tools para Office. Por ejemplo, el objeto Document de la documentación de VBA para Word corresponde a la clase Microsoft.Office.Interop.Word.Document en el ensamblado de interoperabilidad primario.

La referencia de VBA presenta las ventajas siguientes:

  • Documenta los modelos de objetos de Word 2007 y Word 2003.

  • Proporciona ejemplos de código para la mayoría de los miembros.

La referencia de VBA presenta las desventajas siguientes:

  • Sólo proporciona sintaxis y ejemplos de código para VBA. Para usar los ejemplos de código en un proyecto de Visual Studio Tools para Office, debe traducir el código de VBA a Visual Basic o Visual C#.

Tipos adicionales en los ensamblados de interoperabilidad primarios

Los ensamblados de interoperabilidad primarios contienen muchos tipos que no están disponibles para VBA. Estos tipos adicionales ayudan a convertir los objetos del modelo de objetos basado en COM de Word a código administrado; no están pensados para su uso directamente en el código.

Para obtener más información, consulte Overview of Classes and Interfaces in the Office Primary Interop Assemblies.

Vea también

Conceptos

Trabajar con documentos

Trabajar con texto en documentos

Trabajar con tablas

Información general sobre el modelo de objetos de Excel

Información general sobre elementos y controles Host

Limitaciones de programación de elementos y controles Host

Descripción de los parámetros opcionales en las soluciones de Office

Referencia

Ensamblados de interoperabilidad primarios de Office

Otros recursos

Controles Host de Word

Historial de cambios

Fecha

Historial

Motivo

Julio de 2008

Se ha añadido información sobre cómo crear elementos host Document en complementos en el nivel de la aplicación.

Cambio de características de SP1.