Categorías
Ofimática

Enviar correo desde Excel (VBA)

Excel (Microsoft Excel) es la herramienta de trabajo diario de una infinidad de personas y hay empresas que incluso lo usan como base de su negocio. Muchos reconoceréis que, si bien es una herramienta que nos permite hacer una cantidad ingente de cosas, también puede llegar a ser un pozo negro de desesperación (Cuando una hoja de cálculo crece de forma desmesurada, cuando las fórmulas ocupan más de 3 líneas en el editor o cuando tenemos que hacer cientos de tareas repetitivas para poder sacar algún dato en claro). Aquí es donde debemos pararnos a analizar la situación para poder usar la herramienta a nuestro favor y no como un monstruo devorador de tiempo y eficiencia. Hoy vamos a ver cómo enviar correo desde Excel, algo que seguro podréis aprovechar en vuestros proyectos.

Envío de mail desde Excel con VBA

En muchas ocasiones tenemos que realizar tareas repetitivas o constantes. En el caso de los correos electrónicos es que los usamos para muchas cosas: informar que hemos terminado el informe, alertar a nuestros compañeros que los datos ya se han volcado los datos o darle feedback a nuestro jefe de que ya se encuentran actualizada la estadística de hoy. Esto puede restarnos mucho tiempo y provocar errores:

  1. Tenemos que abrir Outlook (en este caso nos centraremos en este cliente de eMail). Va lento, se bloquea, está recibiendo un correo pesado y no da acabado…
  2. Buscamos las direcciones de los destinatarios: Siempre suelen ser los mismos (el jefe, los compañeros, el cliente final…) y debemos tener cuidado que no se nos olvide nadie.
  3. Escribir un correo tipo: Casi siempre es lo mismo, o con muy pequeñas variaciones
  4. En alguna ocasión adjuntar algún archivo
  5. Enviar

15 minutos tirados a la basura… ¿Y si lo automatizamos? ¿Y si le ponemos a ese informe una macro que, pulsando un botón, envíe el correo a todo el mundo directamente? Dicho y hecho:

Os dejo una función para envío de correo a través de Outlook desde cualquier aplicación que soporte VBA (Excel, Word, PowerPoint… casi cualquier programa de Microsoft y otros como SAP Desktop Intelligence).

La función es muy sencilla: Crea un objeto Outlook, prepara el envío y envía el correo. Los parámetros se explican en la propia función y no creo que tengáis problema en aplicarla a cualquier necesidad que tengáis y si tenéis alguna duda… dejad un comentario XD.

Os dejo un enlace a mi repositorio de snippets VBA en gitHub para que podáis ver el código o descargaros el módulo para importarlo directamente en Excel.