Introducción al modelo de objetos de Word

Cuando se desarrollan soluciones de Word en Visual Studio, se interactúa 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 de Word y que se definen en el espacio de nombres Microsoft.Office.Interop.Word .

Se aplica a: la información de este tema se aplica a proyectos de nivel de documento y proyectos de complementos de VSTO para Word. Para obtener más información, consulte Características disponibles por aplicación de Office lication y tipo de proyecto.

En este tema se proporciona una breve introducción del modelo de objetos de Word. Para obtener más información sobre todo el modelo de objetos de Word, vea Usar la documentación del modelo de objetos de Word.

Para obtener información sobre cómo usar el modelo de objetos de Word para efectuar tareas específicas, consulte los siguientes temas:

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 , que representa la instancia actual de Word. El objeto Application contiene los objetos Document, Selection, Bookmarky Range . Cada uno de estos objetos tiene muchos métodos y propiedades a los que puede tener acceso para manipular e interactuar con el objeto.

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

Word Object Model graphic

A primera vista, parece que los objetos se superponen. 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, se puede 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 las siguientes secciones se describen brevemente los objetos de nivel superior y cómo interactúan entre sí. Estos objetos incluyen los cinco siguientes:

  • Objeto de aplicación

  • Document (objeto)

  • Selection (objeto)

  • Range (objeto)

  • Bookmark (objeto)

    Además del modelo de objetos de Word, los proyectos de Office en Visual Studio proporcionan elementos host y controles host que extienden algunos objetos del modelo de objetos de Word. Los elementos y controles host se comportan como los objetos de Word que extienden, pero tienen también una funcionalidad adicional, como capacidades de enlace de datos y eventos adicionales. Para obtener más información, vea Automate Word by using extended objects and Host items and host controls overview.

Objeto de aplicación

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

En los proyectos de complemento de VSTO, puede acceder al objeto Application mediante el campo Application de la clase ThisAddIn . Para obtener más información, consulte Complementos de VSTO de programa.

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

Document (objeto)

El objeto Document es fundamental para la programación de Word. Representa un documento y todo su contenido. Al abrir un documento o crear uno nuevo, se crea un nuevo objeto 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 .

Las herramientas de desarrollo de Office en Visual Studio extienden el objeto Document proporcionando el tipo Document . Este tipo es un elemento host que proporciona acceso a todas las características de un objeto Document y agrega eventos adicionales, además de aportar la capacidad de agregar controles administrados.

Cuando se crea un proyecto de nivel de documento, puede obtener acceso a los miembros de Document mediante la clase ThisDocument generada en el proyecto. Puede obtener acceso a los miembros del elemento host Document usando las palabras clave Me o this desde el código en la clase ThisDocument o usando Globals.ThisDocument desde el código fuera de la clase ThisDocument . Para obtener más información, consulte Personalizaciones de nivel de documento del programa. Por ejemplo, para seleccionar el primer párrafo del documento, use el siguiente código.

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

En los proyectos de complemento de VSTO, puede generar elementos host Document en tiempo de ejecución. Puede usar el elemento host generado para agregar controles al documento asociado. Para obtener más información, vea Extender documentos de Word y libros de Excel en complementos de VSTO en tiempo de ejecución.

Selection (objeto)

El objeto Selection representa el área actualmente seleccionada. Al efectuar una operación en la interfaz de usuario de Word, como poner un texto en negrita, seleccione o resalte el texto y, después, aplique 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.

Range (objeto)

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. Se pueden usar varios objetos Range a la vez. Asimismo, se pueden definir varios objetos Range en el mismo documento. El objeto Range tiene las siguientes características:

  • Puede estar formado solo por el punto de inserción, 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 solo existe mientras se ejecuta el código.

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

Objetos de control de contenido

Un ContentControl permite controlar la entrada y la presentación de texto y otros tipos de contenido en documentos de Word. Un ContentControl puede mostrar varios tipos diferentes de interfaz de usuario que se optimizan para su uso en documentos de Word, como un control de texto enriquecido, un selector de fecha o un cuadro combinado. También puede usar un ContentControl para evitar que los usuarios editen secciones del documento o la plantilla.

Visual Studio extiende el objeto ContentControl en varios controles host diferentes. Mientras que el objeto ContentControl puede mostrar cualquiera de los diferentes tipos de interfaz de usuario disponibles para los controles de contenido, Visual Studio proporciona un tipo distinto para cada control de contenido. Por ejemplo, puede usar un RichTextContentControl para crear un control de texto enriquecido o un DatePickerContentControl para crear un selector de fecha. Estos controles host se comportan como un ContentControlnativo, pero incluyen eventos adicionales y funciones de enlace de datos. Para obtener más información, vea Controles de contenido.

Bookmark (objeto)

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

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

  • Los objetosBookmark 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 de la clase View en false o true.

    Visual Studio extiende el objeto Bookmark proporcionando el control host Bookmark . El control host Bookmark se comporta como un objeto Bookmarknativo, pero incluye eventos adicionales y funciones de enlace de datos. Puede enlazar datos a un control Bookmark de un documento de la misma manera que se enlazan datos a un control de cuadro de texto en un Windows Forms. Para obtener más información, vea Control Bookmark.

Uso de la documentación del modelo de objetos de Word

Para obtener información completa sobre el modelo de objetos de Word, puede consultar la referencia del ensamblado de interoperabilidad primario (PIA) de Word y la referencia del modelo de objetos de Visual Basic para aplicaciones (VBA).

Referencia del ensamblado de interoperabilidad principal

La documentación de referencia de los PIA de Word describe los tipos del ensamblado de interoperabilidad primario para Word. Esta documentación está disponible en la siguiente ubicación: Referencia del ensamblado de interoperabilidad principal de Word 2010.

Para obtener más información sobre el diseño del PIA de Word, como las diferencias entre clases e interfaces en el PIA y cómo se implementan los eventos del PIA, vea Información general de las clases e interfaces en los ensamblados de interoperabilidad primarios de Office.

Referencia del modelo de objetos de VBA

La referencia del modelo de objetos de VBA documenta el modelo de objetos de Word, tal como se expone en el código de VBA. Para obtener más información, vea Referencia del modelo de objetos de Word 2010.

Todos los objetos y miembros de la referencia del modelo de objetos de VBA corresponden a tipos y miembros del PIA de Word. Por ejemplo, el objeto Document de la referencia del modelo de objetos VBA corresponde al Document objeto del PIA de Word. Aunque la referencia del modelo de objetos VBA proporciona ejemplos de código para la mayoría de las propiedades, métodos y eventos, debe traducir el código VBA de esta referencia a Visual Basic o Visual C# si quiere usarlo en un proyecto de Word creado con Visual Studio.