Pasar Datos de Excel a Word Con Macro

Pasar datos de Excel a Word con Macro (Combinar Correspondencia) En este artículo vamos a ver nuevamente cómo podemos pa

Views 168 Downloads 25 File size 336KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

Pasar datos de Excel a Word con Macro (Combinar Correspondencia) En este artículo vamos a ver nuevamente cómo podemos pasar datos de Excel a Word con una macro. Sin embargo, aunque el titulo indica que podemos usar una macro en Excel, no es necesariamente obligatorio hacerlo. Se puede hacer directamente desde Word con una macro o incluso manualmente. Este artículo está relacionado con varios temas o artículos ya vistos, como ser : Impresión Múltiple en Excel con macro (Parte 1), Impresión Múltiple en Excel con macro (Parte 2), Pasar datos de Excel a plantilla de Word con macro, Imprimir en documento de Pdf. En resumen lo que hacemos es imprimir de una sola vez todos los documentos creados a través de una plantilla de Word y con los datos tomados de una hoja de Excel. Estos datos son las variables de la plantilla. El elemento principal es la herramienta de Word “Combinar Correspondencia” y a partir de ahí lo único que hacemos es automatizar la tarea ya sea desde Word o desde Excel.

Click en la imagen para ver el video relacionado sino a través de este Link. Recuerden que en el canal de YouTube “ExcelminiApps” están todos los videos que son complento del blog. Como hacemos siempre vamos a utilizar una mini aplicación de ejemplo para mostrar la idea. En este caso utilizamos una plantilla de Word llamada “Credencial”. Y un documento de Excel que ya habíamos usado en el artículo “Pasar datos de Excel a plantilla de Word con macro”. Credencial.dotx Esta es la plantilla de la Credencial, como ven no contiene los datos. Tiene el espacio para el nombre en la parte superior y el nombre de la jornada en la parte inferior, como ejemplo.

Pasar Datos a Excel.xlsm Como ven es un archivo de Excel habilitada para macros según la extensión. Tenemos los datos de los asistentes a nuestra jornada y además tenemos la ruta completa de la plantilla de Word. Esta plantilla no la podemos utilizar como esta porque necesitamos que los datos estén en forma de lista. Entonces creamos una hoja auxiliar donde acomodamos los datos.

La hoja auxiliar no tiene formato y contiene los encabezados de cada columna o campo.

Visto los elementos principales lo que hacemos es crear una macro utilizando la función crear correspondencia. Para eso vamos a Word, abrimos la plantilla, vamos a programador y elegimos grabar macro.

Luego vamos a la solapa correspondencia , seleccionar destinatarios y luego lista existente.

Luego buscamos la ubicación del archivo de Excel donde estaba nuestra lista auxiliar.

Lo que hizo esta acción es tomar cada encabezado de esa lista como un campo, el cual lo podemos agregar a nuestra plantilla por lo que elegimos el campos de Nombre del Participante de la Jornada y el Nombre de la Jornada. Como estamos grabando una macro a la vez, me muevo con las direccio nales del teclado para acomodar los campos.

Y listo, tenemos nuestra plantilla con los datos de Excel que son variables. Arriba a la derecha podemos ver la vista previa de cada uno pero no lo usamos para que no se grabe en la macro.

Ahora para finalizar tenemos la opción de imprimir documento o enviar por correo. En este caso queremos imprimir.

Antes de utilizar esta opción debemos asegurarnos de que este predeterminada una impresora de pdf en la lista de impresoras. Sino imprimirá el documento el impresora predeterminada. Si todo esta correcto te pedirá una ubicación para guardar el Pdf y un nombre. Luego paramos la macro. Y tendremos el resultado esperado.

Macro1 En este caso si la macro grabada se llama macro 1, esta macro hace todo lo que hicimos manualmente en forma automatizada con el archivo de Excel seleccionado. Si cambia el nombre del archivo deberíamos volver a crear la macro o retocar el código. En este caso no recomendable. No es necesario explorar el código de la macro. Ahora, recuerdan que teníamos un código para pasar los datos de Excel a Word. Vamos a utilizar el mismo código modificado. Este código crea el documento nuevo de Word a travez de la plantilla y ejecuta nuestra macro: ---Sub toWord() 'ExcelminiApps 2016

'Ruta de la plantilla de word warch = Hoja1.Range("B23").Text & Hoja1.Range("B24").Text 'Con la variable siguiente definimos que vamos a trabajar con un documento de Word. Set objWord = CreateObject("Word.Application") objWord.Visible = True 'Creamos un documento nuevo con la plantilla objWord.Documents.Add Template:=warch, NewTemplate:=False, DocumentType:=0 'Activa el documento de word objWord.Activate 'Ejecutamos la macro de word objWord.Run MacroName:="macro1" 'Cerramos la variable Set objWord = Nothing End Sub --Como ven se agrego una línea para llamar a la macro de Word llamada “macro1”. Eso es todo , cuando mediante un botón desde el archivo de Excel ejecutemos la macro “toWord” nos creará nuestro documento único con extensión PDF donde estarán volcados todos los datos. Esto es muy interesante, práctico y rápido. Como dijimos ni siquiera es necesario crear las macros, pueden utilizar Combinar Correspondencia directamente. Por otro lado, sino quieren estar elegiendo manualmente la impresora predeterminada al momento de ejecutar la macro , pueden utilizar este código dentro de la macro de Excel. ----'Elegir impresora With Dialogs(wdDialogFilePrintSetup) .Printer = "Microsoft Print To Pdf" .DoNotSetAsSysDefault = True .Execute End With --No se recomienda tocar la macro de Word aunque si tienen ganas de experimentas lo pueden hacer y verán que funciona. Eso es todo, esperamos les haya gustado. Sigan el blog y el canal. Pueden darle me gusta al artículo también. Saludos! -------------------------------------- FIN Recuerden que los artículos algunas veces requieren un mayor o menor nivel de conocimiento en ciertos temas de Excel, por ejemplo formulas avanzadas, macros o VBA, etc. Sin embargo en los artículos se nombran todos los elementos y con esta información podemos hacer nuestras pequeñas investigaciones usando internet, así desarrollamos nuestro conocimiento. Por ejemplo si utilizamos la función “Y”, que la suponemos conocida, y no sabemos ¿qué es? podemos buscar en internet para ver como se utiliza y cuáles son los componentes. Las mini aplicaciones no son más que la recopilación de muchos elementos para dar forma a una nueva idea. Pueden descargar algunos ejemplos (plantillas/templates) de la zona de Descargas. Si tienen alguna duda o consulta pueden hacerlo a través del formulario de contacto. Les recomendamos que sigan el blog por alguno de los medios, mail o por redes sociales, para recibir las actualizaciones y novedades. ¡Éxitos!   

Keys: Pasar datos de Excel a Word. Imprimir en Pdf con macro . Combinar Correspondencia en Word

  

Macros de Word y Excel. Mail Merge. How to Use Microsoft Word to Extract Data From Excel.



Send data from Exel to Word with macro.