Aprende cómo enviar correos electrónicos o emails masivos con archivos adjuntos diferentes en excel y outlook a través de correspondencia mas pdf con archivo individual con macros el cual nos permite enviar correos electrónicos a diferentes personas con su respectivo archivo adjunto
¿Cómo enviar correos con archivos adjuntos y combinación de correspondencia?
Revisa el video para que aprendas a utilizar la macro y en la parte FINAL del articulo se encuentra el enlace para que puedas descargar la macro.
Importante que para utilizar la macro debemos de tener habilitados el menú de programador o desarrollador dependiendo de la versión de excel que tengas. En este CORTO VIDEO te explico como lo puedes HABILITAR
Para ejecutar la macro debemos tener en cuenta lo siguiente.
Debemos de tener un archivo de excel donde contamos con una columna que para el ejemplo es la A con el nombre del archivo y en otra columna el correo electrónico como se muestra en la imagen.
A continuación tenemos los archivos que están en PDF, aunque la macro aplica para cualquier tipo de extensión.
Los archivos anteriores fueron basados de la combinación de correspondencia entre Excel y PDF, te comparto el ENLACE para que aprendas esta herramienta.
Luego de tener en cuenta lo anterior nos vamos para la pestaña de programador y posteriormente para visual basic.
En esta ventana nos dirigimos para herramientas y referencia.
En esta ventana de referencias debemos de tener habilitado la opción de microsoft 16.0 object library. Debemos tener en cuenta que dependiendo de la versión de excel que tengamos puede ser menor el valor.
Posteriormente vamos para grabación de una macro y le vamos asignar el nombre que deseamos y para el ejemplo va ser correos y en la activación de la macro para el método abreviado para ejecutar la macro va ser la letra r
ahora vamos a presionar aceptar y luego detener grabación.
Luego nos vamos para la macro grabada y pegamos la macro que la puedes descargar en la parte inferior del articulo.
La macro para enviar correos masivos con archivos adjuntos consiste
Creamos las variables para la macro como objeto, variant,rango y texto
Dim objOutlook As Object
Dim objItem As Object
Dim objNamespace As Object
Dim ADJUNTO As Variant
Dim RangoNombre As Range
Dim RangoCorreos As Range
Dim Ruta As String
Dim Extensión As String
Dim Nombre_Archivo As String
Dim Destinatario As String
Dim Correos As String
Le asignamos la ruta donde estan los archivos que deseo enviar aquí es muy importante colocar la ruta personal.
Ruta = "C:\Users\Juan David\Desktop\Ejemplo"
La extensión aquí puede cambiar el formato del archivo
Extensión = "Pdf"
Para abrir la ventana para seleccionar el rango de nombre
Set RangoNombre = Application.InputBox("Seleccione el rango de los nombres del archivo", "RANGO", Type:=8)
Para abrir la ventana para seleccionar el rango de Correos
Set RangoCorreos = Application.InputBox("Seleccione el rango de los correos", "RANGO", Type:=8)
Obtener la primera y ultima fila del rango seleccionado y la columna
FilaInicial = RangoNombre.Row
FilaFinal = RangoNombre.Count + 1
ColumnaNombre = RangoNombre.Column
Obtener la columna de los correos
ColumnaCorreos = RangoCorreos.Column
Creamos un ciclo con fila igual a Filainicial hasta fila final
For fila = FilaInicial To FilaFinal
Asignamos los nombres de las variables para la aplicación de outlook
Set objOutlook = CreateObject("Outlook.Application")
Set objNamespace = objOutlook.GetNamespace("MAPI")
Set objItem = objOutlook.CreateItem(olMailItem)
objNamespace.Logon "EXCELSPACE", , True, True
Asignamos para la variable Nombre_Archivo la fila y la columna para obtener el nombre del archivo
Nombre_Archivo = Cells(FilaInicial, ColumnaNombre)
Asignamos para la variable Correos la fila y la columna para obtener el correo asociado
Correos = Cells(FilaInicial, ColumnaCorreos)
ADJUNTO = Ruta & "\" & Nombre_Archivo & "." & Extensión
ADJUNTO = "C:\Users\juandavid\Desktop\Ejercicio\Macroparacorreo.xlsm"
With objItem
.Attachments.Add (ADJUNTO)
.Display
'.To = "quinterojdavid@hotmail.com"
.To = Correos
.CC = ""
.BCC = ""
Aquí asignamos el Asunto
Asignamos el Cuerpo del mensaje
.Body = " Amablemente adjunto el certificado Comercial"
.Send
End With
objNamespace.Logoff
Set objOutlook = Nothing
Set objItem = Nothing
Set objNamespace = Nothing
FilaInicial = FilaInicial + 1
Next
Luego ejecutamos la macro presionando Ctrl + r y enviamos los correos con su respectivo archivo adjunto
Seguramente quieres sabes más acerca de Excel, no te olvides darte una vuelta por las siguientes secciones disponibles para ti de manera gratuita:
Canal de YouTube
Comunidad Telegram
Instagram: Aprende y Enseña Excel
Facebook: Aprende Excel Fácil
Twitter: Aprende y Enseña Excel
Hasta una próxima y te deseo el mayor de los EXITOS.