1️⃣2️⃣➖✅EXPORTAR REPORTE A PDF E IMPRIMIR REPORTE ▶️ EXCEL - VBA (VISUAL BASIC PARA APLICACIONES)🟩

1️⃣2️⃣➖✅EXPORTAR REPORTE A PDF E IMPRIMIR REPORTE ▶️ EXCEL - VBA (VISUAL BASIC PARA APLICACIONES)🟩

hola como estan bienvenidos al canal espero se la estén pasando súper bien vamos a continuar con un capítulo más de esta serie de vídeos en esta ocasión voy a a desarrollar estas dos opciones que comenté en el capítulo anterior que es la de exportar a pdf y imprimir los datos que tengamos en el formulario vamos a aprovechar para ver estos cinco puntos primero que nada es como vamos a poder exportar a pdf de aquí se desprende este punto 2 que es guardar datos de lisboa a la hoja de excel ya lo vimos en en forma de cómo guardar cuando tenemos unos datos capturados en este en estos campos y guardamos y traemos de vuelta a list box en esta ocasión hay una pequeña variante después de realizar un filtro o con los datos ya cargados para poder hacer ese reporte va a ser necesario enviar todo lo que tengamos en este lisboa no nada más un registro como lo hicimos en un principio que teníamos capturados estos campos si enviamos a la hoja de excel y los traíamos de vuelta en esta ocasión vamos a hacer un guardado masivo de todos los datos que tengamos en este luis box ya sea que tengamos 1 2 3 5 10 registros eso vamos a ver esta variante con este punto 2 vamos a hacer uso de un input box que no es más que un cuadro de diálogo que usamos para interactuar con el usuario más que nada lo ocupamos para pedirle datos el punto 4 generar un archivo en la misma ubicación esto es derivado de la exportación del reporte a pdf vamos a guardar el archivo en formato pdf en la misma ubicación donde tengamos nuestro archivo de datos y el punto 5 es la impresión de en lugar de exportarlo a excel lo vamos a poder imprimir directamente a nuestras impresoras disponibles con una característica adicional que vamos a mostrar qué impresora tenemos disponibles no lo vamos a enviar directamente a la que tengamos configurado como predeterminado sino de que nos va a mostrar la lista de impresoras en caso de que tengamos varias instaladas y tengamos la posibilidad de decidir en qué impresora vamos a hacer la impresión de ese reporte entonces vamos a ver el primer punto que es el el botón que tenemos aquí es de exportar a pdf qué son los datos que que tengo este es el código que vamos a implementar he creado una hoja que se llama reporte porque lo que queremos es que esos datos tengan un formato previamente esta hoja la tenemos que preparar como si se tratase de d diseñar un reporte que en realidad es eso es el diseño o la presentación que queremos darle a ese reporte previamente yo estoy considerando aquí el nombre de la empresa el nombre del reporte las columnas y los datos que vamos a mostrar a partir de la fila número cuatro en hindi perdón dependiendo de el filtro que querramos hacer esta hoja nos va a servir para y mostrar los datos que queremos mostrar en ese reporte independientemente que aquí tenemos la base de datos por así decirlo aprovecho la ocasión para comentar un [Música] un comentario vaya a la redundancia que hizo un seguidor en él cuando presenté la opción de generar el light y esta tabla o esta hoja nos sirve como base de datos entonces ya lo había comentado de que está esta tabla o esta base de datos no es conveniente manipularla sobre todo porque aquí tenemos un orden de datos si hacemos la eliminación de un registro o si esta hoja la manipulamos para ordenar la de cierta forma nos podría causar alguna inconsistencia en nuestros datos por eso yo acostumbro cuando voy a generar un reporte en este caso hacer un filtro y usar una hoja auxiliar que esta hoja nos va a permitir borrar todos los datos y enviar nuevamente datos nuevos con de acuerdo al tipo de reporte que queramos imprimir bien vamos de lleno al código en la en las primeras filas aquí como siempre voy a dejarle los comentarios de qué se trata en estas líneas aquí estamos creando una variable de tipo fecha le estamos asignando la fecha a esta variable y aquí también es un código nuevo que no habíamos visto en temas anteriores el este comando nos trae la fecha actual pero si no le aplicamos ningún formato nos trae la fecha con la hora y los minutos y segundos y lo que yo quiero es presentar únicamente la fecha en formato corto es decir día mes y año de esa forma lo que representan aquí ya vamos a empezar a enviar datos a partir de esta fila aquí estoy diciendo porque estoy haciendo referencia a la hoja reportes y estoy diciendo que en la columna 1 y la fila 1 columna 1 me inserté el nombre de la empresa este dato lo podríamos llamar por ejemplo este nombre de la empresa si lo tenemos en alguna hoja en particular podemos hacerla la referencia en donde tenemos el dato lo estoy dejando de esta forma porque pues no estoy asignando un nombre específico pero les aclaro que este dato lo podemos llamar de la hoja donde tengamos almacenado ese dato es el nombre de esa empresa a partir de aquí vamos a a empezar y asignarle el nombre a nuestro reporte dependiendo de qué qué campos tenemos habilitado algo parecido como el filtro que vimos en el capítulo anterior si tengo habilitado este check box o yeste o tengo datos en este combo box o en este dependiendo de lo que tengamos aquí quiero explicar tanto porque lo vimos en el capítulo anterior si se cumple cualquiera de estas condiciones entre lo que estoy diciéndole en esta fila es que perdón en esta fila de en esta línea de código es que en la fila 2 y en la columna o no es decir que en este campo me escriba el tipo de reporte que estoy consultando y yo que le estoy poniendo un texto fijo esta es una concatenación de datos no recuerdo si ya lo hemos comentado en algún vídeo pero lo que le estoy diciendo es que me va a escribir en ese mes de campo este texto más lo que tenemos aquí porque dependiendo si se cumple esta condición es decir que voy a generar un reporte por género al día y estoy concatenando la variable que estamos asignando aquí que es la fecha actual en formato corto entonces como lo vemos aquí dice reporte de clientes por género y por país de origen bueno que está repetido él este texto y la fecha este es el formato de fecha que quiero presentar porque entonces de eso se trata dependiendo de la condición que se cumpla es el texto o el nombre del reporte que le vamos a asignar ok entonces aquí tenemos el texto por género y por país de origen aquí es donde donde tengo por país de origen este texto está duplicado vamos a eliminarlo y en el punto dónde estamos haciendo mención de enviar todos los datos que tenemos en el xbox y son estos que tenemos aquí de esta forma enviamos todos los datos del ism ox a la hoja es decir que si aquí tenemos un dato dos datos tres datos es cómo vamos a a poder enviar todos esos datos a la hoja ese es un ciclo que hacemos un ciclo for con esta propiedad de lis box es decir que va a recorrer todas las siglas que tenga o todos los registros que tenga el list box hoy recorriendo uno por uno y los va a ir almacenando en la hoja esta variable de última fila que es donde va a almacenar cada uno de los datos lo vamos a actualizar cada vez que recorramos este bucle es decir que si hacemos el primer recorrido llegamos aquí y nos vamos al siguiente registro tenemos que correr esta variable para que nos traiga el último dato y se vaya almacenando abajo de la anterior es decir que aquí se va a ir llenando de acuerdo a los datos que tengamos en ese list box el punto número 3 que es un input box eso lo logramos de esta forma entonces aquí estoy pidiendo el nombre del archivo que el que yo interactúe con el usuario para que me diga cómo quiere que se llame ese archivo pdf que vamos a generar ese nombre lo voy a llevar en una variable de acuerdo a lo que me escriba el usuario y aquí estoy haciendo que se cumpla una condición si el usuario no escribe nada pues no va a hacer nada tampoco nos va a generar algún error si el usuario escribe datos en ese cuadro de diálogo que que le presentemos en este momento se va a ir a esta parte del código y nos va a guardar el el archivo en en la misma ubicación del archivo del archivo valga la redundancia de donde lo tenemos guardado y va a tomar los datos de la hoja reporte y va a generar este este voy a hacer más pequeño esto para que podamos interactuar entonces con esto estamos haciendo de que la ubicación del archivo nos genere con el nombre que nos dio el usuario esta es la variable y que le dé un formato pdf y posteriormente cuando se guarde nos va a mostrar el archivo si ese nombre que nos da el usuario este nombre ya existe o perdón existe y está abierto no va a poder guardarlo y nos va a presentar este mensaje para que el usuario cierre el archivo y le asigne un nombre diferente el otro por el punto número 4 dice generar el archivo en la misma ubicación que es prácticamente esto con esta línea de código guardamos el archivo en la misma ubicación con este código no no es necesario que yo le escriba una ruta donde lo tengo por ejemplo de guasa es que pues escríbelo en esta ruta porque eso nos genera complicaciones cuando asignamos una ruta predeterminada se compartimos ese archivo esa ruta no la va a encontrar seguramente y nos puede generar error entonces con esto evitamos ese problema y si el archivo está ubicado en el escritorio en el escritorio guarda el archivo pdf el punto número 5 qué es el icono que tenemos aquí el icono de impresión y aquí vamos a usar la misma hoja donde vamos a tener estos datos y los datos que tengamos aquí y los vamos a mandar directamente a la impresora aquí es otro es otro cuadro de diálogo pero no es un input box es simplemente son es un mensaje y que le mostramos al usuario para decirle o para preguntarle si desea imprimir el reporte del resultado lo vamos a llevar en esta variable que se llama con el propio nombre resultado si el usuario dice que sí entonces y vamos a con esta línea de código vamos a presentarle todas las impresoras que tenemos disponibles o instaladas en nuestra computadora si el usuario no no selecciona ninguna para que no nos genere error y llevamos esta variable x a la manera de que si el usuario cancela la impresión no nos genere ningún error en la ejecución del código si el usuario selecciona en una impresora entonces con este con esta línea de código imprime directamente en nuestra impresora seleccionada vamos a hacer las pruebas vamos a correr este formulario como vimos en el capítulo anterior presenta todos los datos existentes si no queremos hacer un filtro y si exportamos a pdf lo que hace es aquí vamos a ver en qué condición va a entrar para que así le asigne el nombre del reporte como no hicimos ningún filtro que está entrando en la última condición y está asignando este nombre del reporte dice reporte de clientes al día al día 23 de marzo vamos a dejar correr aquí es donde le preguntamos al usuario que el nombre de reporte qué nombre quiere asignarle al reporte le voy a dejar este nombre le doy a aceptar guarda el reporte y nos lo muestra aquí tenemos el nombre de la empresa y el nombre del reporte que le que le asignamos y si nos damos cuenta no hace ningún filtro sino de que presenta todos los registros que tenemos los 32 registros que tenemos voy a cerrar este archivo vamos a hacer un filtro vamos a aplicar este filtro y vemos que ya se redujo este esta selección no únicamente nos está haciendo el filtro de género sin importar a qué país pertenece si hacemos damos un clic en el icono pdf y vamos a recorrer vemos que entra en la primera condición aquí le va a asignar el reporte el reporte de clientes por género al día 23 de marzo nuevamente nos pide el reporte vamos a dejarlo así y nos está mostrando el reporte ya no contienen todos los registros sino que de acuerdo al filtro que hicimos y aquí nos en automático nos muestra el nombre del reporte porque éste ya lo tenemos previamente configurado y otra cosa más que quiero comentarle es que esta hoja tienen que configurar la de acuerdo algo al tamaño de hojas que usen en mi caso yo soy tamaño carta ese es el tamaño del papel previamente tengo que configurar este esta hoja para que no me salga si él si no está bien configurado a lo mejor me sale en dos hojas y me sale cortado el reporte para evitar eso previamente tenemos que hacer esa configuración si si por el contrario nuestro tamaño de papel es por ejemplo a 4 eso es lo que debo de hacer antes de generar ese reporte ya sea para generarlo en pdf o para imprimirlo directamente vamos a correr nuevamente vamos a hacer otro filtro vamos a hacer ambos filtros vamos a hacer este filtro no tenemos con este género aquí sí tenemos este filtro vamos a generar nuevamente el archivo pdf reporte clientes y ahí lo vemos nuevamente de esa forma generamos un archivo pdf con datos que tenemos en nuestro en nuestro formulario como les comenté lo primero que hacemos es enviar a la hoja reportes para que de aquí generemos ese archivo únicamente lo que contiene esta hoja deseamos imprimir archivo en lugar de enviarlo a pdf nos hace la pregunta si deseamos imprimir el reporte si le decimos que si nos muestra la en este cuadro de diálogo o en esta ventana nos muestra todas las impresoras que tenemos instaladas en mi caso no tengo instalada ninguna impresora física todas son impresoras virtuales y yo aquí puedo seleccionar cualquiera de ellas si tuviera una impresora seleccionada al darle a aceptar nos manda directamente a la impresora ese reporte bien entonces esto sería todo por el capítulo de hoy espero este tema haya quedado lo más completo posible si hay algún comentario alguna duda con todo gusto estaré atendiendo en los comentarios gracias por estar ahí detrás de estos contenidos viendo cada uno de estos capítulos que la verdad espero que sea de mucho interés para ustedes y los estaré viendo en el siguiente capítulo

Noticias relacionadas