Muchas veces en nuestro trabajo enviamos correo con archivos adjuntos, pero esta macros nos ayudará a enviar un correo con un enlace, ya sea de un documento, imagen, etc. Esto es muy útil cuando queremos compartir información. Para este caso, a la macro le daré una dirección del archivo, la cual ha sido creada para ejemplificar el tema, por lo que cada uno cambia según sea la ubicación de su archivo.
Para realizar esta macros debemos seguir los siguientes pasos:
1º Abrir el editor de VBA e insertar un módulo haciendo clic derecho sobre "This Workbook" , ponemos insertar y luego módulo. Con esto ya tenemos el espacio para escribir la macro.
2º Como nuestro correo va a ser enviado a través de Microsoft Outlook, lo primero que tenemos que hacer una vez creado el módulo es establecer una referencia con Outlook. Para esto en el editor de VBA le damos clic a la pestaña Herramientas, y en Referencias. Se va a mostrar un listado de programas con un cuadro para seleccionar con un check. Nosotros tenemos que buscar el que diga Microsoft Outlook "XX" Object Library. El "XX" hace referencia a la versión del Outlook que tengamos, y cuando lo hayas te a aparecer en el inicio de la lista. (ver figura 1).
(Para mayor visualización de la imagen, hacer click en la misma)
Figura 1: Referencia con Outlook
3º Escribimos el siguiente código en el módulo creado:
Sub Enviaenlace()
'Paso 1: Declarar variables
Dim OLApp As Outlook.Application
Dim OLMail As Object
'Paso 2: Abrir Outlook y empezar con el mensaje
Set OLApp = New Outlook.Application
Set OLMail = OLApp.CreateItem(0)
OLApp.Session.Logon
'Paso 3: Construir el mensaje y enviarlo
With OLMail
.To = "correo1@dominio.com; mike@dominio.com"
.CC = ""
.BCC = ""
.Subject = "El link del reporte mensual"
.HTMLBody = _
"<p>El reporte mensual está listo. Click para obtenerlo.</p>" & _
"<p><a href=" & Chr(34) & "Z:\Downloads\MonthlyReport.xlsx" & _
Chr(34) & ">Descargue aquí</a></p>"
.Display
End With
'Paso 4: Limpiar memoria
Set OLMail = Nothing
Set OLApp = Nothing
End Sub
Con esto ya podemos ejecutar la macro. Cabe mencionar que como nuestra macro trabaja con Microsoft Outlook, primero debe estar activada nuestra cuenta en Outlook, caso contrario les aparecerá un mensaje para configurar cuenta. Si ese fuese el caso configurar su cuenta en Outlook y después corren la macro. También es necesario estar conectado a internet para que Outlook pueda acceder a los correos y nuestra macros pueda funcionar de manera correcta. Cuando corran la macro les debe aparecer lo siguiente (ver Figura 2).
(Para mayor visualización de la imagen, hacer click en la misma)
Figura 2: Correo con enlace
Como observación, notamos que en nuestra macro en las últimas líneas del "Paso 3" está escrito ".Display". Esto funciona para ver el correo antes de enviarlo (Figura 2), pero si queremos enviar el correo sin esta revisión, borramos ".Display" y escribimos ".Send" y de esta manera se envía el correo automáticamente.
Para finalizar, esta macro es de gran ayuda para enviar correos a varios destinatarios con enlaces para que ellos puedan descargarlos y así mantener circulando la información. También puede ser utilizado para enviar invitaciones a eventos o compromisos que se tenga.
Aquí el archivo Excel con la macro.
Por: Alvaro Medrano