• Martes 19 de Noviembre de 2024, 13:40

Autor Tema:  Combinar Con Word Desde Visual  (Leído 1799 veces)

pacegar

  • Miembro MUY activo
  • ***
  • Mensajes: 108
  • Nacionalidad: es
    • Ver Perfil
    • INTEGRA Canarias
Combinar Con Word Desde Visual
« en: Lunes 26 de Enero de 2004, 14:39 »
0
Hola a todos!
Necesito poder combinar una tabla desde mi aplicacion con una carta de word.
Alguien sabe como hacerlo?
Gracias
Pedro Acevedo
Director de Desarrollo
INTEGRA Tecnología y Comunicación de Canarias
www.integracanarias.com

Brroz

  • Miembro de PLATA
  • *****
  • Mensajes: 1058
    • Ver Perfil
Re: Combinar Con Word Desde Visual
« Respuesta #1 en: Lunes 26 de Enero de 2004, 16:01 »
0
Hola pacegar.

Empieza por añadir al proyecto la correspondiente referencia a Word (también podrías utilizar CreateObject / GetObject)... luego examinador de objetos y a investigar.

Básicamente supongo que se tratará de obtener una referencia a un objeto Document, utilizar el método Add de su miembro Tables para añadir una nueva tabla y a partir de ahí, rellenar los datos de la tabla, supongo que mediante un objeto de tipo Range, esto último nunca lo he probado, pero imagino que por ahí van los tiros.

Suerte.

pacegar

  • Miembro MUY activo
  • ***
  • Mensajes: 108
  • Nacionalidad: es
    • Ver Perfil
    • INTEGRA Canarias
Re: Combinar Con Word Desde Visual
« Respuesta #2 en: Miércoles 28 de Enero de 2004, 18:14 »
0
Por si a alguien le interesa

Código: Text
  1.  
  2.  
  3. 'Abrir documento existente con la plantilla ya creada, o sea con los campos insertados
  4. Documents.Open "c:\prueba.doc", , , , , , , , , , , True
  5.  
  6. ' Así nos aseguramos de que el documento apunte a la base de datos (RUTAMDB)
  7. ActiveDocument.MailMerge.OpenDataSource Name:=RUTAMDB, ConfirmConversions:=False, ReadOnly:=False, LinkToSource:=True, AddToRecentFiles:=False, PasswordDocument:="", PasswordTemplate:="", WritePasswordDocument:="", WritePasswordTemplate:="", Revert:=False, Format:=wdOpenFormatAuto, Connection:="Provider=Microsoft.Jet.OLEDB.4.0;Password="""";User ID=Admin;Data Source=”+RUTAMDB+”Mode=Read;Extended Properties="""";Jet OLEDB:System database="""";Jet OLEDB:Registry Path="""";Jet OLEDB:Database Pass", SQLStatement:="SELECT * FROM `Tabla1`", SQLStatement1:="", SubType:=wdMergeSubTypeAccess
  8.  
  9. ' Actualizamos (creo que no hace falta)
  10. ActiveDocument.Fields.Update
  11.  
  12.  
  13.  

De todas formas, un truco que he descubierto:
  Cuando quieran hacer algo en office desde Visual basic con código y no sepan... desde la aplicacion de office poner grabar una macro y en esta se quedarán registradas todas las acciones (con codigo). Sólo basta verlas en el editor que de VBA.
Pedro Acevedo
Director de Desarrollo
INTEGRA Tecnología y Comunicación de Canarias
www.integracanarias.com