martes, 25 de agosto de 2015

VBA: Enviar un email desde Excel.

Hace algunas semanas una lectora me preguntaba por la forma de enviar varios emails desde Excel con diferentes Asuntos y cuerpos de texto del correos electrónicos.
Tengo una hoja Excel. En una de las columnas tengo varias direcciones de correo electrónico (cada una en una celda).
Necesito que al pulsar esa celda se envíe un correo a la dirección indicada. Esto se hace automáticamente (hipervínculo). Pero necesito que tenga un asunto concreto...


Partimos de un listado de direcciones como este...

VBA: Enviar un email desde Excel.



Ya estamos en disposición de incorporar el código necesario...
Para ello insertamos nuestro código en un Módulo estándar de nuestro proyecto de VBA desde el editor de VB:

Sub EnvioMail()
Dim olApp As Object
Dim olMailItm As Object

'Creamos 'la aplicación de MS Outlook'
'que será la que voy a utilizar
Set olApp = CreateObject("Outlook.Application")

'Emplearemos el email creado en la línea anterior
' al que añadiremos 'Destinatario' de la lista dada
'Using the email, add multiple recipients, using a list of addresses in column A.
For Each destinatario In Range("A2:A5")
    'y genero un email vacío... de momento
    Set olMailItm = olApp.CreateItem(0)
    With olMailItm
        'indicamos quién es el destinatario... y lo incluimos en el apartado de 'Para...'
        'podíamos haber empleado las opciones .CC (con copia)
        'o también .BCC (con copia oculta)
        .to = destinatario.Value
        'cuál es el asunto...
        .Subject = destinatario.Offset(0, 1).Value
        ' y cual el cuerpo del correo electrónico
        .Body = destinatario.Offset(0, 2).Value
        'y lo enviamos...
        .Send
    End With
Next destinatario

'Dejamos limpias las variables empleadas
Set olMailItm = Nothing
Set olApp = Nothing
End Sub



Tras lanzar nuestra sencilla macro, podremos comprobar cómo se han enviado desde nuestra cuenta de Microsoft Outlook cada uno de los correos de nuestro listado.

VBA: Enviar un email desde Excel.

No hay comentarios:

Publicar un comentario en la entrada