none
Completar campos de un documento Word desde un programa VB

    Question

  •  

    Hola

    Estoy haciendo un programa en Visual basic  que obtiene varios datos desde una base de datos y los pone en unos cuantos textboxs en mi form. Esa parte ya esta hecha.  

    Ahora tengo que pasar los datos de los textboxs(5 textboxs) a un documento de word existente y colocarlos en ubicaciones especificas del documento.

    No tengo la posibilidad de crear el documento ya que la idea es que ese documento sea modificable cuando se desee(formatos y algunas pequenhas modificaciones) 

     

    No tengo la mas minima idea de como hacer esto ya que nunca hice nada con Word desde VB y tampoco soy un experto en Word.

    Estaria muy agradecido si alguien pudiera ayudarme 

    Saturday, December 01, 2007 7:46 PM

Answers

  • Mírate el siguiente artículo, quizás te pueda servir:

    http://www.vb-mundo.com/truco_programacion_247-Mailing-con-Word-desde-VB.htm

     

    Salud y suerte!

     

    Sunday, December 02, 2007 8:34 PM
    Moderator
  •  

    utilice el metodo de combinar, pero es bastante lento.. encontre otra solucion que funciona mucho mejor, y es la reemplazar textos.

    aqui esta el codigo

     

    Dim AppWord As Microsoft.Office.Interop.Word.Application

    AppWord = CreateObject("Word.Application")

    Dim doc As Word.Document = AppWord.Documents.Open(FileName:="C:\form2.doc")

    Dim rng As Word.Range = AppWord.ActiveDocument.Content

    rng.Find.ClearFormatting()

    rng.Find.Replacement.ClearFormatting()

    For num As Integer = 0 To 23

     

      For lista As Integer = 0 To 13

        rng = AppWord.ActiveDocument.Content

        rng.Find.Execute(FindText:="{LISTA#" + lista.ToString + "}",ReplaceWith:=ds.table("table").Rows(num)(lista), Replace:=Word.WdReplace.wdReplaceOne) '

     

       Next

    Next

     

    lo que hago con este codigo es rellenar los campos(14) de 24 targetitas en una pagina y cada campo similar en las tarjetitas tiene el nombre tty1, tty2,...

     

    tty1                                          tty1

    tty2     tty3                              tty2     tty3

    tty4    tty5     tty6                      tty4   tty5     tty6

     

     

    tty1                                          tty1

    tty2     tty3                              tty2     tty3

    tty4    tty5     tty6                      tty4   tty5     tty6

     

     

     

     

    Saturday, December 08, 2007 2:48 PM

All replies

  • Mírate el siguiente artículo, quizás te pueda servir:

    http://www.vb-mundo.com/truco_programacion_247-Mailing-con-Word-desde-VB.htm

     

    Salud y suerte!

     

    Sunday, December 02, 2007 8:34 PM
    Moderator
  • Muchas gracias por responder..
    Tiene toda la pinta de que va a funcionar. Pruebo y te cuento que tal me fue
    Monday, December 03, 2007 10:10 PM
  •  

    utilice el metodo de combinar, pero es bastante lento.. encontre otra solucion que funciona mucho mejor, y es la reemplazar textos.

    aqui esta el codigo

     

    Dim AppWord As Microsoft.Office.Interop.Word.Application

    AppWord = CreateObject("Word.Application")

    Dim doc As Word.Document = AppWord.Documents.Open(FileName:="C:\form2.doc")

    Dim rng As Word.Range = AppWord.ActiveDocument.Content

    rng.Find.ClearFormatting()

    rng.Find.Replacement.ClearFormatting()

    For num As Integer = 0 To 23

     

      For lista As Integer = 0 To 13

        rng = AppWord.ActiveDocument.Content

        rng.Find.Execute(FindText:="{LISTA#" + lista.ToString + "}",ReplaceWith:=ds.table("table").Rows(num)(lista), Replace:=Word.WdReplace.wdReplaceOne) '

     

       Next

    Next

     

    lo que hago con este codigo es rellenar los campos(14) de 24 targetitas en una pagina y cada campo similar en las tarjetitas tiene el nombre tty1, tty2,...

     

    tty1                                          tty1

    tty2     tty3                              tty2     tty3

    tty4    tty5     tty6                      tty4   tty5     tty6

     

     

    tty1                                          tty1

    tty2     tty3                              tty2     tty3

    tty4    tty5     tty6                      tty4   tty5     tty6

     

     

     

     

    Saturday, December 08, 2007 2:48 PM