VBA Enviar Email do Excel - Código passo a passo para enviar e-mail

Código VBA para enviar e-mails do Excel

No VBA para enviar e-mail do Excel , podemos automatizar nosso recurso de correspondência para que possamos enviar e-mails automaticamente para vários usuários ao mesmo tempo. Para isso, precisamos lembrar que isso é feito pelo outlook, outro produto do outlook, portanto, precisamos habilitar o outlook script em VBA para fazer isso e, uma vez feito, usamos o método .Application para usar os recursos do Outlook.

A versatilidade do VBA é simplesmente incrível. A razão pela qual os programadores de VBA amam o Excel é que, usando o VBA, não podemos apenas trabalhar com o Excel. Em vez disso, também podemos acessar outras ferramentas da Microsoft. Podemos acessar o PowerPoint, Word e Outlook usando o VBA. O que me impressionou foi quando ouvi falar de “envio de e-mail do próprio Excel”. Sim, é verdade. Podemos enviar e-mails do excel. Neste artigo, mostraremos como enviar e-mails do Excel com anexos usando a codificação VBA.

Definir referência para a biblioteca do Microsoft Office

Precisamos enviar e-mails do Outlook. Visto que o Outlook é um objeto externo, a primeira coisa que precisamos fazer é definir a referência do objeto como “ Biblioteca de objetos do Microsoft Outlook 16.0 ”.

  • No VBA, vá para Ferramentas> Referências.
  • Agora veremos a biblioteca de referência de objetos. Nesta janela, precisamos definir a referência para “Biblioteca de objetos do Microsoft Outlook 16.0”.
  • Após definir a referência do objeto, clique em OK.

Agora podemos acessar o objeto Outlook na codificação VBA.

13 etapas fáceis para enviar e-mails do Excel

Escrever o código para enviar um e-mail com um anexo do excel é bastante complicado, mas vale a pena gastar algum tempo.

Siga as etapas abaixo para escrever sua primeira macro do Excel de e-mail.

Passo 1

Inicie o subprocedimento em VBA.

Código:

Sub SendEmail_Example1 () End Sub

Passo 2

Declare a variável Outlook.Application

Código:

Dim EmailApp As Outlook.Application 'Para se referir ao aplicativo outlook

Etapa 3

A variável acima é uma variável de objeto. Precisamos criar uma instância de um novo objeto separadamente. Para criar uma nova instância do objeto externo, abaixo está o código.

Código:

Definir EmailApp = Novo Outlook.Application 'Para iniciar o aplicativo Outlook

Passo 4

Agora, para escrever o e-mail, declaramos mais uma variável como “Outlook.MailItem”.

Código:

Dim EmailItem As Outlook.MailItem 'Para indicar um novo e-mail do Outlook

Etapa 5

Para lançar um novo e-mail, precisamos definir a referência para nossa variável anterior como CreateItem.

Código:

Set EmailItem = EmailApp.CreateItem (olMailItem) 'Para lançar um novo e-mail do Outlook

Ok, agora a variável “EmailApp” irá lançar o Outlook, e na variável “EmailItem,” podemos começar a escrever o e-mail.

Etapa # 6

Agora precisamos estar cientes de quais são os itens que temos ao escrever um e-mail. A primeira coisa é que precisamos decidir para quem enviaremos o e-mail. Portanto, para isso, precisamos acessar a propriedade “TO”.

Etapa # 7

Insira o ID do email do destinatário entre aspas duplas.

Código:

EmailItem.To = "[email protected]"

Etapa # 8

After addressing the main receiver, if you would like to CC anyone in the email, we can use the “CC” property.

Code:

EmailItem.CC = "[email protected]"

Step #9

After the CC, we can set the BCC email id as well.

Code:

EmailItem.BCC = "[email protected]"

Step #10

Now we need to include the Subject of the email we are sending.

Code:

EmailItem.Subject = "Test Email From Excel VBA"

Step #11

Now we need to write the body of the email by using HTML Body type.

Code:

EmailItem.HTMLBody = "Hi," & vbNewLine & vbNewLine & "This is my first email from Excel" & _ vbNewLine & vbNewLine & _ "Regards," & vbNewLine & _ "VBA Coder" 'VbNewLine is the VBA Constant to insert a new line

Step #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 () Dim EmailApp As Outlook.Application Dim Source As String Set EmailApp = Novo Outlook.Application Dim EmailItem As Outlook.MailItem Set EmailItem = EmailApp.CreateItem (olMailItem) EmailItem.To = "[email protected]" EmailItem.CC = "[email protected]" EmailItem.BCC = "[email protected]" EmailItem.Subject = "Email de teste do Excel VBA" EmailItem.HTMLBody = "Olá," & vbNewLine & vbNewLine & "Este é meu primeiro e-mail de Excel "& _ vbNewLine & vbNewLine & _" Atenciosamente, "& vbNewLine & _" VBA Coder "Source = ThisWorkbook.FullName EmailItem.Attachments.Add Source EmailItem.Send End Sub

Execute o código acima, e ele enviará o e-mail com o corpo mencionado do e-mail com a pasta de trabalho atual como anexo.

Artigos interessantes...