Cómo utilizar la automatización OLE en Visual FoxPro con Microsoft Word

Seleccione idioma Seleccione idioma
Id. de artículo: 138205 - Ver los productos a los que se aplica este artículo
Este artículo se ha archivado. Se ofrece "tal cual" y no se volverá a actualizar.
Expandir todo | Contraer todo

Resumen

En este artículo muestra cómo utilizar automatización en Microsoft Visual FoxPro para enviar datos de una tabla a un documento de Microsoft Word. El ejemplo requiere que Microsoft Word 6.0 o posterior esté instalado en el mismo equipo que Visual FoxPro. Este ejemplo consta de los siguientes dos pasos básicos:
  • Crear el documento de combinación de correspondencia en Microsoft Word.
  • Escribir el programa para realizar la automatización OLE en Visual FoxPro.

Más información

  1. Crear el documento de combinación de correspondencia en Microsoft Word. Iniciar con un documento nuevo en Microsoft Word. Dar formato al documento como sigue:
          Contact
          Company
          Phone
    
          Dear greeting,
    
          <This is the body of the form letter.>
    
          Sincerely,
    
          <Your Company Name>
    crear marcadores para el contacto, empresa, teléfono y saludo.
    1. Seleccione el elemento en el documento. Por ejemplo, seleccione el contacto . Haga clic en Modificar o haga clic en Insertar función en su versión de Word y, a continuación, haga clic en marcador .
    2. Escriba el nombre de marcador, como contacto y a continuación, haga clic en Agregar . El nombre del marcador debe ser el mismo que el elemento seleccionado. Repita esto para todos los cuatro elementos.
    3. Guarde el documento de Microsoft Word como Wordole.doc en el directorio Vfp\Samples\Data.
  2. Crear el programa de automatización en Visual FoxPro. Crear un nuevo programa en Visual FoxPro con el código siguiente:

    Si utiliza Word 6.0 o Word 95, utilice el código siguiente:
         PUBLIC oWordObj, ver_info
    
          ver_info=IIF("06."$VERSION(),6,5)
          IF ver_info=6
             OPEN DATA home(2)+"data\TestData.dbc"
          else
             OPEN DATA SYS(2004)+"\samples\data\TestData.dbc"
          endif
          USE Customer
    
          oWordObj=CREATEOBJECT("Word.Basic")
    
          IF ver_info=6
             oWordObj.FileOpen (home(2)+"data\wordole.doc")
          ELSE
             oWordObj.FileOpen (SYS(2004)+"samples\data\wordole.doc")
          ENDIF
    
          oWordObj.EditGoto ("contact")
          oWordObj.Insert (Customer.Contact)
          oWordObj.EditGoTo ("company")
          oWordObj.Insert (Customer.Company)
          oWordObj.EditGoTo ("phone")
          oWordObj.Insert (Customer.Phone)
          oWordObj.EditGoTo ("greeting")
          oWordObj.Insert (Customer.Contact)
    
          oWordObj.FilePrint
    								
    Si utiliza Word 97 o de Office Word 2003, utilice el código siguiente:
          PUBLIC oWordObj, ver_info
    
          ver_info=IIF("06."$VERSION(),6,5)
          IF ver_info=6
             OPEN DATA home(2)+"data\TestData.dbc"
          else
             OPEN DATA SYS(2004)+"\samples\data\TestData.dbc"
          endif
          USE Customer
    
          oWordObj=CREATEOBJECT("Word.Basic")
    
          IF ver_info=6
             oWordObj.FileOpen (home(2)+"data\wordole.doc")
          ELSE
             oWordObj.FileOpen (SYS(2004)+"samples\data\wordole.doc")
          ENDIF
    
          oWordObj.ww7_EditGoto ("contact")
          oWordObj.Insert (Customer.Contact)
          oWordObj. ww7_EditGoTo ("company")
          oWordObj.Insert (Customer.Company)
          oWordObj. ww7_EditGoTo ("phone")
          oWordObj.Insert (Customer.Phone)
          oWordObj. ww7_EditGoTo ("greeting")
          oWordObj.Insert (Customer.Contact)
    
          oWordObj.FilePrint
    								
  3. Guarde y ejecute el programa.
resultado Cuando ejecuta el programa, debe imprimir la carta con datos de registro de uno en la tabla cliente.

Al quitar los comandos de cliente de uso y abrir datos, puede llamar a este programa desde un formulario que se basa en la tabla cliente. Si el programa se llama desde el evento click de un botón de comando, la carta se imprimirán utilizando datos del registro actual en la tabla cliente.

Propiedades

Id. de artículo: 138205 - Última revisión: sábado, 22 de febrero de 2014 - Versión: 3.4
La información de este artículo se refiere a:
  • Microsoft Visual FoxPro 3.0 Standard Edition
  • Microsoft Visual FoxPro 5.0 Standard Edition
  • Microsoft Visual FoxPro 6.0 Professional Edition
  • Microsoft Visual FoxPro 7.0 Professional Edition
  • Microsoft Visual FoxPro 8.0 Professional Edition
  • Microsoft Visual FoxPro 9.0 Professional Edition
Palabras clave: 
kbnosurvey kbarchive kbmt kbautomation kbcode kbhowto kbinterop KB138205 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): 138205

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