VBA Enviar correo electrónico desde Excel - Código paso a paso para enviar correo electrónico

Código VBA para enviar correos electrónicos desde Excel

En VBA para enviar correos electrónicos desde Excel , podemos automatizar nuestra función de envío de correos para que podamos enviar correos electrónicos automáticamente a varios usuarios a la vez, para hacerlo debemos recordar que Outlook lo hace, otro producto de Outlook, por lo que debemos habilitar Outlook. scripting en VBA para hacerlo y una vez hecho, usamos el método .Application para usar las funciones de Outlook.

La versatilidad de VBA es simplemente asombrosa. La razón por la que a los codificadores de VBA les encanta sobresalir es porque, al usar VBA, no solo podemos trabajar dentro de Excel. Más bien, también podemos acceder a otras herramientas de Microsoft. Podemos acceder a PowerPoint, Word y Outlook mediante VBA. Lo que me impresionó fue cuando me enteré de "enviar correos electrónicos desde Excel mismo". Si es cierto. Podemos enviar correos electrónicos desde Excel. En este artículo, le mostraremos cómo enviar correos electrónicos desde Excel con archivos adjuntos utilizando la codificación VBA.

Establecer referencia a la biblioteca de Microsoft Office

Necesitamos enviar correos electrónicos desde Outlook. Dado que Outlook es un objeto externo, lo primero que debemos hacer es establecer la referencia del objeto en “ Biblioteca de objetos de Microsoft Outlook 16.0 ”.

  • En VBA, vaya a Herramientas> Referencias.
  • Ahora veremos la biblioteca de referencia de objetos. En esta ventana, debemos establecer la referencia a "Biblioteca de objetos de Microsoft Outlook 16.0".
  • Después de configurar la referencia del objeto, haga clic en Aceptar.

Ahora podemos acceder al objeto de Outlook en la codificación VBA.

13 sencillos pasos para enviar correos electrónicos desde Excel

Escribir el código para enviar un correo electrónico con un archivo adjunto de Excel es bastante complicado, pero vale la pena dedicarle un tiempo.

Siga los pasos a continuación para escribir su primera macro de Excel de correo electrónico.

Paso 1

Inicie el subprocedimiento en VBA.

Código:

Sub SendEmail_Example1 () End Sub

Paso 2

Declare la variable Outlook.

Código:

Dim EmailApp As Outlook.Application 'Para referirse a la aplicación de Outlook

Paso 3

La variable anterior es una variable de objeto. Necesitamos crear una instancia de un nuevo objeto por separado. Para crear una nueva instancia del objeto externo, a continuación se muestra el código.

Código:

Establecer EmailApp = New Outlook.Application 'Para iniciar la aplicación de Outlook

Etapa 4

Ahora, para escribir el correo electrónico, declaramos una variable más como "Outlook.MailItem".

Código:

Atenuar EmailItem como Outlook.MailItem 'Para referir un nuevo correo electrónico de Outlook

Paso # 5

Para lanzar un nuevo correo electrónico, necesitamos establecer la referencia a nuestra variable anterior como CreateItem.

Código:

Establecer EmailItem = EmailApp.CreateItem (olMailItem) 'Para lanzar un nuevo correo electrónico de Outlook

Ok, ahora la variable "EmailApp" lanzará la perspectiva, y en la variable "EmailItem", podemos comenzar a escribir el correo electrónico.

Paso # 6

Ahora debemos ser conscientes de cuáles son los elementos que tenemos al escribir un correo electrónico. Lo primero es decidir a quién le enviamos el correo electrónico. Entonces, para esto, necesitamos acceder a la propiedad "TO".

Paso # 7

Ingrese el ID de correo electrónico del destinatario entre comillas dobles.

Código:

EmailItem.To = "[email protected]"

Paso # 8

Después de dirigirse al receptor principal, si desea enviar un CC a alguien en el correo electrónico, podemos usar la propiedad "CC".

Código:

EmailItem.CC = "[email protected]"

Paso # 9

Después del CC, también podemos configurar el ID de correo electrónico de CCO.

Código:

EmailItem.BCC = "[email protected]"

Paso # 10

Ahora debemos incluir el Asunto del correo electrónico que estamos enviando.

Código:

EmailItem.Subject = "Probar correo electrónico desde Excel VBA"

Paso # 11

Ahora necesitamos escribir el cuerpo del correo electrónico utilizando el tipo de cuerpo HTML.

Código:

EmailItem. nueva línea

Paso # 12

If we want to add an attachment as the current workbook, we are working on. Then we need to use attachments property. First, declare a variable source as a string.

Code:

Dim Source As String

Then in this variable, write ThisWorkbook.FullName after Email body.

Code:

Source = ThisWorkbook.FullName

In this VBA Code, ThisWorkbook is used for the current workbook and .FullName is used to get the full name of the worksheet.

Then write the following code to attach the file.

Code:

EmailItem.Attachments.Add Source

Step #13

Now finally, we need to send the email to the mentioned email IDs. This can be done by using the “Send” method.

Code:

EmailItem.Send

Ok, we are done with the coding part.

Code:

Sub SendEmail_Example1 () Atenuar EmailApp como Outlook.Application Atenuar origen como cadena Establecer EmailApp = Nuevo Outlook.Application Atenuar EmailItem como Outlook.MailItem Establecer EmailItem = EmailApp.CreateItem (olMailItem) EmailItem.To = "[email protected]" EmailItem.CC = "[email protected]" EmailItem.BCC = "[email protected]" EmailItem.Subject = "Prueba de correo electrónico de Excel VBA" EmailItem.HTMLBody = "Hola", & vbNewLine & vbNewLine & "Este es mi primer correo electrónico de Excel "& _ vbNewLine & vbNewLine & _" Saludos, "& vbNewLine & _" VBA Coder "Source = ThisWorkbook.FullName EmailItem.Attachments.Add Source EmailItem.Send End Sub

Ejecute el código anterior y enviará el correo electrónico con el cuerpo mencionado del correo electrónico con el libro de trabajo actual como archivo adjunto.

Articulos interesantes...