PASAR DATOS DE ACCESS A PLANTILLA DE WORD DESDE VISUAL BASIC 6.0

05/02/2011 - 02:03 por Ironpony | Informe spam
Tengo un documento de Word que es una plantilla con una serie de
huecos donde tengo que llevar valores de una tabla usando Visual
Basic, un fragmento de este word sería

".. estimado sr. <camponombreVB> Tengo el gusto de invitarle a la
fiesta que daremos el día <campofechaVB> a las 16:00h. Por favor
confirme asistencia..."

Como podeis observar <camponombreVB> y <campofechaVB> son dos valores
que tengo en la tabla que gestiono desde el programa en visual basic,
entonces ¿como puedo llevar los datos en pantalla del programa de
visual basic, para generar el documento word y en los huecos donde he
escrito los campos, me aparezcan dichos valores.

Sólo se hace para un caso, es decir, no es combinar correspondencia ni
nada parecido

de nuevo gracias.
 

Leer las respuestas

#1 Leonardo Azpurua
05/02/2011 - 16:46 | Informe spam
"Ironpony" escribió en el mensaje
news:
Tengo un documento de Word que es una plantilla con una serie de
huecos donde tengo que llevar valores de una tabla usando Visual
Basic, un fragmento de este word sería

".. estimado sr. <camponombreVB> Tengo el gusto de invitarle a la
fiesta que daremos el día <campofechaVB> a las 16:00h. Por favor
confirme asistencia..."

Como podeis observar <camponombreVB> y <campofechaVB> son dos valores
que tengo en la tabla que gestiono desde el programa en visual basic,
entonces ¿como puedo llevar los datos en pantalla del programa de
visual basic, para generar el documento word y en los huecos donde he
escrito los campos, me aparezcan dichos valores.

Sólo se hace para un caso, es decir, no es combinar correspondencia ni
nada parecido



Hola,

Estuve un rato peleándome con la ayuda de VBA para Word sin encontrar
la manera (no es que no la haya, pero tengo un poco de trabajo "pago"
pendiente, y no puedo dedicarle demasiado tiempo a los problemas de
otros) de modificar directamente el texto del documento.

Pero si colocas "marcadores" de Word (seleccionas un área de texto,
pulsas en el menú Insertar\Marcador, y escribes un identificador) la
tarea es trivial:

En primer lugar abres el documento de Word:

Private Const NOMBRE_ARCHIVO = "D:\Mis Narices\inivtac.doc"
Set wordApp = New("Word.Application")
' abrimos en modo de solo lectura por si las moscas
Set doc = wordApp.Documents.Open(NOMBRE_ARCHIVO, True)
' luego reemplazas el texto de los marcadores por las variables
Dim rango As Word.Range
With doc
Set rango = .Bookmarks("campoNombreVB")
rango.Text = elNombre
Set rango = .Bookmarcs("campoFechaVB")
rango.Text = Format(laFecha, "Short Date")
' y lo imprimes en la impresora predeterminada
.PrintOut
End With
' cierras el documento y Word
doc.Close
wordApp.Quit

Salud!

Preguntas similares