Información general acerca del 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 para 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 los proyectos de nivel de documento y los proyectos de nivel de aplicación para Word 2007 y Word 2010. Para obtener más información, vea Características disponibles por aplicación y tipo de proyecto de Office.

En este tema se proporciona una breve información general sobre el modelo de objetos de Word. Para conocer los recursos donde puede obtener más información sobre el modelo de objetos de Word completo, vea 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 específicas, 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

Gráfico 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

Además del modelo de objetos de Word, los proyectos de Office en Visual Studio proporcionan elementos host y controles host que extienden algunos de los objetos de ese modelo de objetos. Los elementos host y los controles host se comportan como los objetos de Word que extienden, pero también presentan otra funcionalidad, como la del enlace a datos y eventos adicionales. Para obtener más información, vea Automatizar Word con objetos extendidos e Información general sobre elementos y controles Host.

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.

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

Cuando se crea un proyecto de nivel de documento, se puede obtener acceso a los miembros de Microsoft.Office.Tools.Word.Document utilizando la clase ThisDocument generada en el proyecto. Puede obtener acceso a los miembros del elemento host Microsoft.Office.Tools.Word.Document si utiliza las palabras clave Me o this desde código en la clase ThisDocument o bien si usa Globals.ThisDocument desde código fuera de la clase ThisDocument. Para obtener más información, vea Programar personalizaciones de nivel de documento. 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();

En los proyectos de nivel de aplicación, se pueden generar elementos host Microsoft.Office.Tools.Word.Document en tiempo de ejecución. 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.

Nota

Las etiquetas inteligentes están desusadas en Excel 2010 y Word 2010. Para obtener más información, vea Información general sobre etiquetas inteligentes.

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 permite controlar la entrada y la presentación de texto y otros tipos de contenido en documentos de Word. 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 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 proporciona un tipo distinto para cada control de contenido. Por ejemplo, puede utilizar Microsoft.Office.Tools.Word.RichTextContentControl para crear un control de texto enriquecido o puede utilizar Microsoft.Office.Tools.Word.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 extiende el objeto Microsoft.Office.Interop.Word.Bookmark proporcionando el control host Microsoft.Office.Tools.Word.Bookmark. El control host Microsoft.Office.Tools.Word.Bookmark se comporta como un objeto 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).

Usar 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 de Word (PIA) y a la referencia del modelo de objetos de VBA.

Referencia del ensamblado de interoperabilidad primario

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

Nota

El PIA de Word 2007 no se documenta en este momento. Sin embargo, los tipos del PIA de Word 2007 también se incluyen en el PIA de Word 2010, por lo que la información de esta documentación de referencia también se aplica a Word 2007.

Para obtener más información sobre el diseño del PIA de Word, por ejemplo las diferencias entre las clases e interfaces del 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 al código de Visual Basic para Aplicaciones (VBA). La referencia del modelo de objetos de VBA para Word está disponible en las siguientes ubicaciones:

Todos los objetos y miembros de la referencia del modelo de objetos de VBA corresponden a tipos y miembros del ensamblado de interoperabilidad primario de Word. Por ejemplo, el objeto Document de la referencia del modelo de objetos de VBA corresponde al objeto Microsoft.Office.Interop.Word.Document del PIA de Word. Aunque la referencia del modelo de objetos de VBA proporciona ejemplos de código para la mayoría de las propiedades, métodos y eventos, debe convertir el código de VBA de esta referencia a Visual Basic o Visual C# si desea utilizarlos en un proyecto de Word que cree mediante Visual Studio.

Vea también

Referencia

Ensamblados de interoperabilidad primarios de Office

Conceptos

Automatizar Word con objetos extendidos

Trabajar con documentos

Trabajar con texto en documentos

Trabajar con tablas

Información general sobre elementos y controles Host

Limitaciones de programación de elementos y controles Host

Parámetros opcionales en las soluciones de Office

Historial de cambios

Fecha

Historial

Motivo

Mayo de 2010

Se ha actualizado la información sobre la documentación de referencia del modelo de objetos.

Mejora de la información.