VBA从Excel发送电子邮件|分步代码发送电子邮件

VBA代码从Excel发送电子邮件

VBA从Excel发送电子邮件 我们可以自动执行邮件发送功能,以便一次可以自动将电子邮件发送给多个用户,为此,我们需要记住,它是由Outlook的另一种Outlook产品完成的,因此我们需要在VBA中启用Outlook脚本来做到这一点,并且一旦完成,我们将使用.Application方法来使用Outlook功能。

VBA的多功能性非常惊人。 VBA编码人员之所以喜欢excel,是因为使用VBA,我们不仅可以在excel中工作,而且还可以访问其他Microsoft工具。我们可以使用VBA访问PowerPoint,Word和Outlook。令我印象深刻的是当我听到“从excel自身发送电子邮件”时。是的,的确,我们可以从excel发送电子邮件。在本文中,我们将向您展示如何使用VBA编码从具有附件的excel发送电子邮件。

设置对Microsoft Office库的引用

我们需要从Outlook发送电子邮件。由于Outlook是外部对象,因此我们首先要做的是将对象引用设置为“Microsoft Outlook 16.0对象库”.

  • 在VBA中,转到“工具”>“参考”

  • 现在,我们将看到对象引用库。在此窗口中,我们需要将引用设置为 “ Microsoft Outlook 16.0对象库”

  • 设置对象引用后,单击“确定”。

现在我们可以用VBA编码访问Outlook对象。

从Excel发送电子邮件的13个简单步骤

编写代码以发送带有excel附件的电子邮件非常复杂,但值得花一些时间。

您可以在此处下载此VBA发送电子邮件Excel模板– VBA发送电子邮件Excel模板

请按照以下步骤编写您的第一个电子邮件excel宏。

步骤1

在VBA中启动子过程。

代码:

 子SendEmail_Example1()结束子 

第2步

声明变量Outlook.Application

代码:

 昏暗的EmailApp作为Outlook.Application'引用Outlook应用程序 

步骤三

上面的变量是一个对象变量。我们需要单独创建一个新对象的实例。下面是创建外部对象的新实例的代码。

代码:

 设置EmailApp = New Outlook.Application'以启动Outlook应用程序 

第4步

现在编写电子邮件,我们再声明一个变量为“ Outlook.MailItem”。

代码:

 Dim EmailItem As Outlook.MailItem'引用新的Outlook电子邮件 

步骤5

为了启动新电子邮件,我们需要将对先前变量的引用设置为CreateItem。

代码:

 设置EmailItem = EmailApp.CreateItem(olMailItem)'以启动新的Outlook电子邮件 

好的,现在变量“ EmailApp”将启动Outlook,在变量“ EmailItem”中,我们可以开始编写电子邮件。

步骤#6

现在,我们需要在编写电子邮件时知道有哪些物品。首先,我们需要确定向谁发送电子邮件。因此,为此,我们需要访问“ TO”属性。

步骤#7

用双引号输入收件人的电子邮件ID。

代码:

EmailItem.To =“ [email protected]

步骤#8

发送给主收件人后,如果您想抄送电子邮件中的任何人,我们可以使用“抄送”属性。

代码:

EmailItem.CC =“ [email protected]

步骤#9

抄送后,我们还可以设置密件抄送电子邮件ID。

代码:

EmailItem.BCC =“ [email protected]

步骤#10

现在,我们需要包括要发送的电子邮件的主题。

代码:

EmailItem.Subject =“从Excel VBA测试电子邮件”

步骤#11

现在,我们需要使用HTML正文类型编写电子邮件的正文。

代码:

EmailItem.HTMLBody =“嗨,”&vbNewLine&vbNewLine&“这是我从Excel收到的第一封电子邮件”&_ vbNewLine&vbNewLine&_“ Regards”&vbNewLine&_“ VBA Coder”'VbNewLine是要插入一个VBA常量的VBA常量新队 

步骤#12

如果要添加附件作为我们正在处理的当前工作簿,则需要使用附件属性。首先,将变量源声明为字符串。

代码:

 暗淡来源作为字符串 

然后在这个变量中写 ThisWorkbook.FullName 在电子邮件正文之后。

代码:

来源= ThisWorkbook.FullName

在此VBA代码中, 本工作簿 用于当前工作簿,并且 。全名 用于获取工作表的全名。

然后编写以下代码来附加文件。

代码:

EmailItem.Attachments。添加源

步骤#13

现在,最后我们需要将电子邮件发送到提及的电子邮件ID。这可以通过使用“发送”方法来完成。

代码:

EmailItem.Send

好的,我们完成了编码部分。

代码:

 Sub SendEmail_Example1()将EmailApp设置为Outlook.Application昏暗的源作为字符串将EmailApp =新Outlook.Application将Dim EmailItem设置为Outlook.MailItem将EmailItem = EmailApp.CreateItem(olMailItem)EmailItem.To =“ [email protected]” EmailItem.CC =“” [email protected]“ EmailItem.BCC =” [email protected]“ EmailItem.Subject =”测试来自Excel VBA的电子邮件“ EmailItem.HTMLBody =”嗨,“&vbNewLine&vbNewLine&”这是我的第一封电子邮件Excel“&_ vbNewLine&vbNewLine&_” Regards“&vbNewLine&_” VBA Coder“源= ThisWorkbook.FullName EmailItem.Attachments.Add源EmailItem.Send结束子 

运行上面的代码,它将发送带有提及的正文的电子邮件,并以当前工作簿作为附件。