Visual Basic - Como lo Hago?

Life is soft - evento anual de software empresarial
 
Vista:

Como lo Hago?

Publicado por Iván Calderón (76 intervenciones) el 07/02/2005 19:33:16
Saludos a Todos de Antemano Muchas Gracias Mi Problema es el Siguiente, Estoy desarrollando un sistema que crea un documento llamado hoja de asignacion dicho documento es una hoja de word donde aparecen los datos de las personas que se seleccionen en un formulario, yo cree un documento en word con marcadores de forma que cuando llamo al documento modifico los valores de los marcadores por los campòs q hay en una tabla temporal q utiliso. pero necesito que ese documento imprima una hoja por cada persona que se encuentre en la temporal, entonces hice lo siguiente
with dtatemporal
.movefirst
do while not .eof
xdocumento.documents(1).bookmarks("cedula").select
xdocumento.documents(1).bookmarks("cedula").range=!cedula
xdocumento.documents(1).bookmarks("nombre").select
xdocumento.documents(1).bookmarks("nombre").range=!nombre
' y asi con todos los campos y despues
xdocumento.documents(1).printout
.movenext
loop
end with
xdocumento.visible=true
set xdocumento=nothing

'para el primer registro funciona bien pero cuando vuelve a
'ejecutar el ciclo no reconoce los marcadores y da error
'es decir, necesito que los marcadores se mantengan y no se borren
'cualquier ayuda y sugerencia q me puedan brindar se los
'agradecere enormente
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Como lo Hago?

Publicado por Benjo (679 intervenciones) el 07/02/2005 22:27:27
Deberías abrir un Template en vez de abrir un documento.
Es correcto el procedimiento tuyo de esribir los marcadores, pues para eso están, lo que sucede es que si abris un documento, estas modificandolo, si abrís un template, sólo asignás los marcadores a un documento nuevo para sobreescribirlos, luego, al abrir nuevamente un template, están nuevamente los marcadores.
Los templates son los que en Word se conocen como .dot.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Como lo Hago?

Publicado por Iván Calderón (76 intervenciones) el 09/02/2005 18:11:34
Antes q todo muchasssss gracias por atender mi duda, nunca e trabajado con template voy a intentarlo en la tarde, te cuento que para solucionar la situacion mientras tanto hice lo siguiente:
cree 50 documentos iguales llamados hoja1,hoja2,hoja3,hoja4....hoja50
.doc todas, y dentro del ciclo utilise un contador y al final del ciclo cerraba el documento con el metodo close y enviandole el parametro de no guardar cambios, claro antes de cerrar el documento mandaba a imprimir y lo volvia abrir pero con el documento siguiente, es decir, la primera vez trabajaba con hoja1.doc, la segunda vez con hoja2.doc y asi hasta terminar la tabla, funciona pero se q no es la mejor forma de hacerlo pero tenia q resolver rapida y mejorarlo sobre la marcha, Bueno de verdad mucha gracias y espero q sigamos en contacto
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Como lo Hago?

Publicado por Benjo (679 intervenciones) el 09/02/2005 20:50:54
Desde el objeto Documents agregás un Template, proporcionándole la ruta necesaria para ello. En vez de tener 50 archivos, tenés uno sólo que se abre con los mismos marcadores y preopiedades que el original.

Documents.Add Template= "D:\Mi directorio\Professional Memo.dot" , NewTemplate:=False, DocumentType:=0


Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar