jueves, 7 de diciembre de 2017

VBA: Enviar Rango a Destinatario de correo

Una opción ya en desuso de Excel es el envío a destinatario de correo, que permite adjuntar un rango de celdas seleccionado en el cuerpo de un email, gestionado todo desde nuestra aplicación Excel favorita.

Para las últimas versiones deberemos sacar a la luz el enterrado botón que habilita esta posibilidad;
así pues desde el desplegable de la barra de herramientas de acceso rápido > Más comandos... > Todos los comandos > Enviar a destinatario de correo

VBA: Enviar Rango a Destinatario de correo



Una vez sacado el botón, podemos ejecutarlo, lo que nos llevará a la siguiente ventana... desde donde controlaremos el destinatario/s, el asunto o una breve introducción (en sustitución del típico cuerpo de un email).

VBA: Enviar Rango a Destinatario de correo



Accediendo a Outlook podremos comprobar el envío de dicho email:

VBA: Enviar Rango a Destinatario de correo



Este mismo proceso lo podemos replicar desde nuestra programación y así poder automatizarlo...

Así pues añadimos la siguiente macro dentro de un módulo estándar de nuestro proyecto de VB:

Sub Enviar_Rango_a_Destinatario_de_correo()
   
'Seleccionamos el rango de celdas a enviar Select
ActiveSheet.Range("A1:B5").Select

' Show the envelope on the ActiveWorkbook.
ActiveWorkbook.EnvelopeVisible = True

'Llamamos al envío...
With ActiveSheet.MailEnvelope
   .Item.To = "excelforo@excelforo.com"
   '.Item.cc = "cursos@excelforo.com"            'con copia a...
   '.Item.bcc = "consultoria@excelforo.com"      'con copia oculta a...
   .Item.Subject = "Asunto: Envío rango de Excel por email"
   .Introduction = "Ejemplo de rango adjunto con formato..."
   .Item.Send
End With
End Sub



Al ejecutarlo verificaremos que el resultado es equivalente...

No hay comentarios:

Publicar un comentario