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结束子
运行上面的代码,它将发送带有提及的正文的电子邮件,并以当前工作簿作为附件。