Aprende a Enviar un archivo de Excel por correo electrónico o email con MACROS
¿Como enviar un archivo de excel por correo electrónico con macros?
Con esta macro nos va permitir realizar lo siguiente:
- Enviar un archivo adjunto en excel con macros
- Se puede enviar a la cantidad que se desee de destinatarios
- Se puede enviar correos al destinatario y con copia a otros correos.
Revisa el video para que aprendas a utilizar la macro y en la parte final del articulo se encuentra el enlace para que la puedas descargar
Importante que para utilizar la macro debemos de tener habilitado 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 se debe tener presente dos cosas, la primera que debemos de tener asociado nuestro correo electrónico en Outlook, y el segundo criterio vamos es dirigirnos a visual basic en ela pestaña de menú DESARROLLADOR.
Luego a herramientas y posteriormente a referencias, en esta ventana debemos seleccionar la variable microsoft outlook 16.0 object, dependiendo de la versión de officce puede ser 15.0 u otro número y presionamos aceptar.
Para enviar por correo electrónico vamos a utilizar dos macros y cualquiera de ellas la puedes utilizar, recuerda que en la parte inferior del articulo se encuentra la macro.
Entonces copiamos la primera macro y luego nos vamos para visual basic, insertar modulo
Luego pegamos ahí en el modulo nuevo la macro.
Ahora es muy importante que para utilizar esta primera macro nuestro archivo de excel debe estar guardado.
La primera macro consiste en lo siguiente:
Declararamos las variables
Dim OLApp As Outlook.Application
Dim OLMail As Object
Posteriormente Abrimos la aplicación Outlook y crear el email
Set OLApp = New Outlook.Application
Set OLMail = OLApp.CreateItem(0)
OLApp.Session.Logon
Luego se detalla los elementos del email, los correos de los destinatarios, el titulos y archivo a adjuntar
With OLMail
.Display
.To = "quinterojdavid@hotmail.com" 'Para quien va el correo electrónico
.CC = "" 'Para quien va con copia, si el correo es sin copia es ""
.BCC = "" ' Para copia oculta
.Subject = "Archivo de datos" 'El nombre del asunto
.Body = "Buen dia se adjunta archivo de muestra" 'El texto para el mensaje
.Attachments.Add ActiveWorkbook.FullName 'El archivo debe de estar guardado
.Send 'Para enviar el archivo o si lo desea revisar le quita el .send
End With
'Limpiar datos almacenados en las variables definidas
Set OLMail = Nothing
Set OLApp = Nothing
y la segunda macro consiste en lo mismo pero tiene una connotación diferente y es que vamos a decirle en la macro la ruta y el nombre del archivo que vamos adjuntar, en cambio el anterior macro envía el archivo con el que se esta trabajando.
Dim objOutlook As Object
Dim objItem As Object
Dim objNamespace As Object
Dim ADJUNTO As Variant
Set objOutlook = CreateObject("Outlook.Application")
Set objNamespace = objOutlook.GetNamespace("MAPI")
Set objItem = objOutlook.CreateItem(olMailItem)
objNamespace.Logon "EXCELSPACE", , True, True
Aquí le estamos diciendo a la variable ADJUNTO cual es la ruta del archivo y el nombre para enviar el correo
ADJUNTO = "C:\Users\juandavid\Desktop\Ejercicio\Macroparacorreo.xlsm"
With objItem
.Attachments.Add (ADJUNTO)
.Display
Le decimos el destinatario, copia o copia oculta
.To = "quinterojdavid@hotmail.com"
.CC = ""
.BCC = ""
.Subject = "Macro para enviar correo archivo en excel" 'Asunto
.Body = " Amablemente adjunto archivo para enviar correos electronicos en macros " 'Cuerpo del mensaje
.Send
End With
objNamespace.Logoff
Set objOutlook = Nothing
Set objItem = Nothing
Set objNamespace = Nothing
Ahora después de pegar cualquiera de las dos macros podemos ejecutarla.
En el siguiente ENLACE puedes DESCARGAR la macro #1 para enviar correos electrónicos con macros en excel.
En el siguiente ENLACE puedes DESCARGAR la macro #1 para enviar correos electrónicos con macros en excel.