OFF: Cómo usar la automatización (OLE) con Word

Seleccione idioma Seleccione idioma
Id. de artículo: 184974 - Ver los productos a los que se aplica este artículo
Expandir todo | Contraer todo

En esta página

Resumen

Este artículo contiene una breve descripción y una macro de ejemplo que se detalla cómo automatizar Microsoft Word desde otro programa. Para obtener información más detallada, vea la subsección "Referencias" al final de este artículo.

Más información

Microsoft proporciona ejemplos de programación con fines ilustrativos únicamente, sin ninguna garantía tanto expresa como implícita, incluyendo, pero sin limitarse a, las garantías implícitas de comerciabilidad e idoneidad para un propósito determinado. En este artículo se supone que está familiarizado con el lenguaje de programación que se muestra y las herramientas utilizadas para crear y depurar procedimientos. Los profesionales de soporte técnico de Microsoft pueden explicarle la funcionalidad de un determinado procedimiento, pero no modificarán estos ejemplos para ofrecer mayor funcionalidad ni crearán procedimientos a necesidades específicas.
Si tiene poca experiencia en programación, desea póngase en contacto con un Microsoft Certified Partner o servicios de consultoría de Microsoft. Para obtener más información, visite estos sitios Web de Microsoft:

Microsoft certificado Partners - https://partner.microsoft.com/global/30000104

Servicios de asesoramiento de Microsoft - http://support.microsoft.com/gp/advisoryservice

Para obtener más información acerca de las opciones de soporte técnico que están disponibles y cómo ponerse en contacto con Microsoft, visite el siguiente sitio Web de Microsoft: http://support.microsoft.com/default.aspx?scid=fh;EN-US;CNTACTMS
Automatización (anteriormente automatización OLE) es una característica que programas utilizan para exponer sus objetos a herramientas de desarrollo, lenguajes de macros y otros programas que admiten automatización. Por ejemplo, un programa de hoja de cálculo puede exponer una hoja de cálculo, gráfico, celda o rango de celdas, cada uno como un tipo diferente del objeto. Un procesador de textos podría exponer objetos, como una aplicación, un documento, un párrafo, una oración, un marcador o una selección.

Cuando un programa es compatible con automatización, puede utilizar Visual Basic para aplicaciones obtener acceso a los objetos que expone. Manipular estos objetos en Visual Basic invocando métodos en el objeto o obteniendo y estableciendo las propiedades del objeto.

Puede utilizar los ejemplos de código en este artículo para controlar Microsoft Word de Microsoft Access 97, Microsoft Excel 97, Microsoft PowerPoint 97, Microsoft Visual Basic para aplicaciones o cualquier otro cliente que admite la automatización para controlar Word.

Introducción

Hay cuatro pasos principales para automatizar Word para Windows.
  1. Agregue una referencia a la biblioteca Microsoft Word 8.0 Object.
  2. Declare una variable como un tipo de objeto de Word.
  3. Asigne el objeto devuelto por la función CreateObject a la variable de objeto declarado en el paso 2.
  4. Utilizar las propiedades y métodos de la variable de objeto para automatizar Word.

Paso 1: Agregar una referencia a la biblioteca de objetos de Word 8.0

Para agregar una referencia a la biblioteca de objetos de Microsoft Word 8.0 utilizando Microsoft Access 97, Microsoft PowerPoint 97 o Microsoft Excel 97, siga estos pasos:
  1. En Microsoft Access, PowerPoint o Excel, en el menú Herramientas , elija macros y, a continuación, haga clic en Editor de Visual Basic .
  2. En el Editor de Visual Basic, en el menú Herramientas , haga clic en referencias .
  3. En la lista de Referencias disponibles , haga clic para seleccionar (activar) la Biblioteca de objetos de Microsoft Word 8.0 casilla de verificación.
Nota : para agregar la referencia mediante Microsoft Visual Basic 5.0, haga clic en referencias en el menú proyecto .

Agregar biblioteca de objetos de Microsoft Word 8.0 referencia permite al programa tener acceso a Ayuda en pantalla de Microsoft Word y la de Microsoft Word Visual Basic para aplicaciones constantes, propiedades y métodos. Tenga en cuenta que la referencia de biblioteca de objetos de Word 8.0 es necesario para automatizar los tipos de objeto de Word directamente.

Agregar una referencia a la biblioteca de objetos de Word 8.0 se denomina enlace anticipado.

Para obtener más información sobre enlace anticipado, consulte en contacto con el siguiente artículo en Microsoft Knowledge Base:
138138INFORMACIÓN: Límite, ID, pronto enlace tipos posible en VB para aplicaciones

Paso 2: Declarar la variable de objeto

Para declarar una variable de objeto, dimensión de la variable igual dimensión cualquier variable, salvo que especifica el tipo al declarar el objeto. Por ejemplo, Word.Application , documentos y de párrafo son objetos de Word independiente.

La línea de comandos de ejemplo siguiente declara la variable objWD como un objeto de tipo Word.Application :

   Dim objWD as Word.Application

				

Paso 3: Establecer la variable

Hay dos funciones de Visual Basic puede utilizar para "enlazar" la variable de objeto ya declarado a Word: CreateObject y GetObject . Las diferencias principales son que la función CreateObject crea una nueva instancia de Word, mientras que la función GetObject utiliza un objeto existente o instancia de Word en ejecución ya. También puede utilizar GetObject para enlazar la variable de objeto a un documento de Word específico.

Las líneas de comandos de ejemplo siguientes enlazar la variable objWD a Word mediante la función CreateObject :

   Dim objWD as Word.Application
   Set objWD = CreateObject("Word.Application")

				
las líneas de comandos de ejemplo siguiente enlazar la variable objWdDoc a un documento de Word específico:
   Dim objWdDoc As Word.Document
   Set objWdDoc = GetObject("c:\my documents\doc1.doc")
				
Nota : se recomienda utilizar sólo la función CreateObject para automatizar Word para Windows. La función GetObject puede causar un comportamiento impredecible si se está ejecutando WordMail o si un documento de Word se incrusta dentro de otro programa.

Para obtener más información acerca de cómo obtener ayuda acerca de Visual Basic para Aplicaciones, consulte el siguiente artículo en Microsoft Knowledge Base:
185232WD97: Error Message Using WordMail: 'este método o propiedad no está disponible'

Paso 4: Utilizar propiedades y métodos para automatizar Word

Cuando complete los pasos 1-3, puede utilizar la variable de objeto para automatizar Word.

La siguiente macro de ejemplo utiliza Automatización para crear un objeto de Word, crear un nuevo documento, agregue texto y guarde el documento.
Sub AutomateWord()
   ' Declare the variable.
   Dim objWD As Word.Application
   ' Set the variable (runs new instance of Word.)
   Set objWD = CreateObject("Word.Application")
   ' Add a new document.
   objWD.Documents.Add
   ' Add some text.
   objWD.Selection.TypeText "This is some text."
   ' Save the document.
   objWD.ActiveDocument.SaveAs filename:="mydoc.doc"
   ' Quit Word.
   objWD.Quit
   ' Clear the variable from memory.
   Set objWD = Nothing
End Sub
				
Nota : la siguiente macro de ejemplo se duplica el proceso descrito en la macro AutomateWord y se ejecuta directamente en Word:
Sub WordMacro()
   Documents.Add
   Selection.TypeText "This is some text"
   ActiveDocument.SaveAs filename:="mydoc.doc"
   Quit
End Sub
				

REFERENCIAS

Para obtener más información específica para automatizar Word con Visual Basic para aplicaciones, vea los siguientes recursos.

Sitio Web de Microsoft Office Developer

http://www.msdn.microsoft.com/office

Manual del programador de Microsoft Office 97/Visual Basic

Uso de automatización en el capítulo de objetos de Microsoft Word la Guía de Microsoft Office 97/Visual Basic Programmer (ISBN: 1-57231-340-4).

-o bien -

Ver a la guía en:
http://msdn.microsoft.com/archive/default.asp?url=/archive/en-us/office97/html/web/fulltoc.asp

Grupos de noticias

Existen los siguientes grupos de noticias, donde puede interactuar con otros usuarios de Visual Basic para Aplicaciones:
Microsoft.public.Word.VBA.AddIns
Microsoft.public.Word.VBA.Beginners
Microsoft.public.Word.VBA.Customization
Microsoft.public.vb.OLE.Automation

Knowledge Base

Para obtener más información acerca de cómo obtener ayuda con Visual Basic para aplicaciones, vea los artículos siguientes en Microsoft Knowledge Base:
163435VBA: Recursos de programación para Visual Basic para aplicaciones

173707OFF97: Cómo ejecutar código de ejemplo de artículos de Knowledge Base

163425WD97: Recursos de programación macros

Ayudante de Office

Para obtener más información sobre la automatización, en el Editor de Visual Basic, haga clic en el Ayudante, escriba " automatización ", haga clic en Buscar y, a continuación, haga clic para ver "Comunicación con otras aplicaciones."

Nota : si el Ayudante está oculto, haga clic en el botón Ayudante de Office en la barra de herramientas estándar. Si el Ayudante no es capaz de responder la consulta, consulte en contacto con el siguiente artículo en Microsoft Knowledge Base:
176476OFF: Ayudante de Office respuesta no preguntas de Visual Basic

Propiedades

Id. de artículo: 184974 - Última revisión: lunes, 22 de enero de 2007 - Versión: 4.3
La información de este artículo se refiere a:
  • Microsoft Excel 97 Standard Edition
  • Microsoft Word 97 Standard Edition
  • Microsoft Visual Basic for Applications 5.0
Palabras clave: 
kbmt kbdtacode kbhowto kbinterop kbprogramming KB184974 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 184974
Renuncia a responsabilidad de los contenidos de la KB sobre productos a los que ya no se ofrece asistencia alguna
El presente artículo se escribió para productos para los que Microsoft ya no ofrece soporte técnico. Por tanto, el presente artículo se ofrece "tal cual" y no será actualizado.

Enviar comentarios

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com