Visual Basic para Aplicaciones - Imprimir hojas por separado

Life is soft - evento anual de software empresarial
 
Vista:
sin imagen de perfil
Val: 9
Ha aumentado su posición en 3 puestos en Visual Basic para Aplicaciones (en relación al último mes)
Gráfica de Visual Basic para Aplicaciones

Imprimir hojas por separado

Publicado por Gabriel (3 intervenciones) el 19/09/2020 11:27:37
Hola!
Tengo el siguiente problema. Genero un documento combinando correspondencia del que salen aproximadamente 5.000 páginas. Me gustaría crear un código en VBA que convirtiese cada una de esas 5.000 páginas como un documento independiente para que al final tuviese tantos documentos como registros haya en en la base de datos que uso para la combinación
Gracias de antemano
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
Imágen de perfil de Antoni Masana
Val: 1.134
Oro
Ha mantenido su posición en Visual Basic para Aplicaciones (en relación al último mes)
Gráfica de Visual Basic para Aplicaciones

Imprimir hojas por separado

Publicado por Antoni Masana (498 intervenciones) el 20/09/2020 10:28:11
No entiendo a que te refieres al decir "convirtiese cada una de esas 5.000 páginas como un documento independiente"
Cuando dices "Genero un documento combinando correspondencia" ¿te refieres a un documento WORD?

Deduzco que el combinar correspondencia genera un documento Word de 5000 páginas y necesitas 5000 documentos de 1 página para ser distribuidos por algún medio electrónico, vía correo u otros, porque no creo que estemos ablando de papel.

Si mi planteamiento es correcto, que es mucho suponer para la información que aportas que es escasa, lo que tendría que hacer la macro es convertir cada hoja en un documento PDF. Y ahora viene el segundo problema ¿Como se ha de llamar cada documento? Porque llamarlos Documento_0001.pdf, Documento_0002.pdf no ayuda a su distribución y ya puestos como no hay que meterlo en un sobre y pegar un sello también podría ir enviando los documentos a la lista de correo pero eso ya es mucho suponer.

Saludos.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 9
Ha aumentado su posición en 3 puestos en Visual Basic para Aplicaciones (en relación al último mes)
Gráfica de Visual Basic para Aplicaciones

Imprimir hojas por separado

Publicado por Gabriel (3 intervenciones) el 20/09/2020 10:48:20
Hola, Antoni:
Perdona por mi escasa información.
Es tal y como tú lo has entendido. Es decir, al combinar la correspondencia en word con una tabla de access, se genera un documento de 5000 páginas, cada una independiente de un cliente. Lo que necesito es que se convierta en 5000 documentos (PDF, WORD, el formato es lo de menos).
También había pensado en lo del nombre, pero al recoger los datos de una tabla había pensado que guardando en una variable los nombres y apellidos y usarlos para renombrar el archivo. O sabiendo el orden de salida de cada documento, por ejemplo por cif del cliente, renombrarlos posteriormente mediante otro procedimiento. Aún así, ese sería un problema menor de no llegarlo a conseguir , el objetivo inicial es la separación
Gracias de nuevo por tu contestación.
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
Imágen de perfil de Antoni Masana
Val: 1.134
Oro
Ha mantenido su posición en Visual Basic para Aplicaciones (en relación al último mes)
Gráfica de Visual Basic para Aplicaciones

Imprimir hojas por separado

Publicado por Antoni Masana (498 intervenciones) el 20/09/2020 12:00:13
Convertir el documento en PDF, que para enviar a los clientes es el mejor formato con diferencia, es bastante sencillo.

Se hace un grabar macro, se imprime una hoja en PDF y después se hace un FOR donde se pone este código y se cambia en número de hoja por la variable y el nombre de fichero, lo mas complejo es el nombre de fichero que se debe buscar o en la hoja o en la Base de Datos.
Bueno no es exactamente así paro se acerca.

Tengo una macro por el estilo en el trabajo, mañana la busco.

Saludos.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 9
Ha aumentado su posición en 3 puestos en Visual Basic para Aplicaciones (en relación al último mes)
Gráfica de Visual Basic para Aplicaciones

Imprimir hojas por separado

Publicado por Gabriel (3 intervenciones) el 20/09/2020 13:19:31
Genial!!
Si lo del nombre será complicado. Pero se me ha ocurrido que, como solo se necesita para una posible consulta posterior, si me hago en la tabla de access con un campo numérico con el orden por apellidos (que es como se imprimen), tendré la relación de número que le corresponde a cada carta-cliente. En caso de necesitarlo, una simple consulta me dará el número que corresponde a cada cliente, aunque seguiré investigando

Gracias
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