Foros del Web » Programación para mayores de 30 ;) » .NET »

Mandar a escribir a una plantilla de word

Estas en el tema de Mandar a escribir a una plantilla de word en el foro de .NET en Foros del Web. Hola a todos, la verdad es que mi fuerte es PHP , tengo que hacer una aplicacion de escritorio en VB.net 2005 y necesito mandar ...
  #1 (permalink)  
Antiguo 11/06/2009, 14:01
Avatar de Ing_FOFO  
Fecha de Ingreso: agosto-2008
Ubicación: Guatemala
Mensajes: 104
Antigüedad: 15 años, 8 meses
Puntos: 8
Pregunta Mandar a escribir a una plantilla de word

Hola a todos, la verdad es que mi fuerte es PHP , tengo que hacer una aplicacion de escritorio en VB.net 2005 y necesito mandar a escribir a una plantilla de word, entonces tengo creado los bookmarks en mi plantilla, y tengo los datos que quiero mandar como por ejemplo en la plantilla dice firmado_por y tengo el nombre de la persona, lo que no se es como mandarselos para poder escribirlos, les agradeceré cualquier tipo de ejemplo (Entre más explícito mejor porque en realidad mis conocimientos en VB.net son medios y no avanzados).

Desde ya Muchas Gracias
__________________
Si te ayude.... regalame un poquito de karma!!!

Los intelectuales resuelven los problemas; los genios ,los evitan.
Albert Einstein (1879-1955)
  #2 (permalink)  
Antiguo 12/06/2009, 16:09
Avatar de Ing_FOFO  
Fecha de Ingreso: agosto-2008
Ubicación: Guatemala
Mensajes: 104
Antigüedad: 15 años, 8 meses
Puntos: 8
Respuesta: Mandar a escribir a una plantilla de word

Nadie???? Que raro que nadie haya contestado a este Post.

Bueno esperaré a que algún Gurú de la programación en VB.net se tome el tiempo para ayudarme.

Gracias
__________________
Si te ayude.... regalame un poquito de karma!!!

Los intelectuales resuelven los problemas; los genios ,los evitan.
Albert Einstein (1879-1955)
  #3 (permalink)  
Antiguo 17/06/2009, 10:53
Avatar de Ing_FOFO  
Fecha de Ingreso: agosto-2008
Ubicación: Guatemala
Mensajes: 104
Antigüedad: 15 años, 8 meses
Puntos: 8
Respuesta: Mandar a escribir a una plantilla de word

Bueno lo he logrado, lástima que nadie me ha podido ayudar pero investigando lo he logrado. Les dejo un breve resumen para las personas que necesiten esto para futuras ocaciones:

Lo que necesitamos:

1. Agregar una referecia COM para la version de office que tengamos.
2. Hacemos los siguientes imports
Imports Microsoft.Office.Interop
Imports Microsoft.Office.Core
3. Creamos los siguientes objetos:
Dim WordApp As New Word.ApplicationClass
Dim wordDoc As Word.DocumentClass
Dim Template As Object
Dim WordApp_temp As New Word.ApplicationClass
Dim wordDoc_temp As Word.DocumentClass
Dim Template2 As Object
4. Asignamos nuestro template y le mandamos los parametros de nuestra BD a nuestros Bookmarks:

Template = ("C:\\Cobro26_2007.dot")
WordApp_temp = CreateObject("word.application")
WordApp_temp.Visible = False
WordApp = CreateObject("word.application")
WordApp.Visible = False
WordApp_temp.Quit()
wordDoc = WordApp.Documents.Add(Template, , , )
wordDoc.Bookmarks.Item("anio").Range.Text = anio

Si se dan cuenta tuve que crear un objeto temporal para evitar los problemas de las referencias con Word.

Espero esto les sirva, cualquier duda estoy a las ordenes.

Saludos desde Guatemala
__________________
Si te ayude.... regalame un poquito de karma!!!

Los intelectuales resuelven los problemas; los genios ,los evitan.
Albert Einstein (1879-1955)
  #4 (permalink)  
Antiguo 03/11/2009, 03:58
 
Fecha de Ingreso: julio-2009
Mensajes: 11
Antigüedad: 14 años, 9 meses
Puntos: 1
Respuesta: Mandar a escribir a una plantilla de word

Hola!

Que sepas que el codigo anteriormente citado es perfecto y funciona a las mil maravillas, solo quiero remarcar un matiz para que se comprenda y se pueda usar este correctamente.

En el punto 4:
"Asignamos nuestro template y le mandamos los parametros de nuestra BD a nuestros Bookmarks:"

En la plantilla de word debemos marcar unos bookmarks tal y como has indicado pero vayamos a concretar este punto ya que me causo confusion al utilizarlo.

En el documento .dot debemos situar el cursor en el punto donde queremos insertar el texto (en mi caso, dentro de un cuadro de texto) ir al menu "Insertar > Marcador". Le asignamos un nombre a este punto del documento y pulsamos agregar. De esta forma definiremos el contenido que estara presente en nuestro documento.

El nombre que hemos asignado sera el que tengamos que reflejar en la linea de codigo:
Código:
wordDoc.Bookmarks.Item("Marcador_Documento_Word").Range.Text = anio
saludos
  #5 (permalink)  
Antiguo 03/11/2009, 06:27
Avatar de Ing_FOFO  
Fecha de Ingreso: agosto-2008
Ubicación: Guatemala
Mensajes: 104
Antigüedad: 15 años, 8 meses
Puntos: 8
De acuerdo Respuesta: Mandar a escribir a una plantilla de word

Hola Shackpack, gracias por ampliar la explicacion. Y me alegro que te haya servido.

Saludos
__________________
Si te ayude.... regalame un poquito de karma!!!

Los intelectuales resuelven los problemas; los genios ,los evitan.
Albert Einstein (1879-1955)
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 2 personas




La zona horaria es GMT -6. Ahora son las 17:20.