使用VBA自动将表格区域粘贴到邮件正文并自动发送邮件

文摘   教育   2024-09-10 19:50   广东  
我们平时发邮件的时候,除了文字,图片,剩下的内容大概就是表格了,但是我们呢一般不会直接在邮件里面直接创建表格,因为那个太难用了,我们一般都会在Excel手动将表格创建好,然后手动复制粘贴过去,那么我们如何使用VBA来实现这一过程呢?
今天我们就来学学如何将Excel中的表格粘贴到邮件正文中,话不多说,下面我们来看看代码,如需学习插入图片到邮件正文,可参考以下文章
如何用VBA将图片添加到邮件正文
在写代码前,由于我们是在Excel中写操作Outlook的代码,所以为了能够方便查看对象的属性,我们此处使用前期绑定。
一、前期绑定

此处添加两个前期绑定,

Microsoft Outlook 16.0 Object Library

Microsoft Word 16.0 Object Library

此处为什么要对Word进行前期绑定引用呢?因为邮件的正文其实是一个Word文档页面。我们可以像写入Word那样进行书写邮件,如果你会Word VBA,那么今天这个问题就很简单啦。

二、代码

Sub InsertTableToEmailBody2()    Application.ScreenUpdating = False    Dim olApp As Outlook.Application    Dim olMail As Outlook.MailItem    Dim olInspector As Outlook.Inspector    Dim olDocument As Word.Document    Dim olRange As Word.Range    Dim olShape As Word.InlineShape    Set olApp = New Outlook.Application    Set olMail = olApp.CreateItem(olMailItem)    Range("A1").CurrentRegion.Copy    Set olInspector = olMail.GetInspector    Set olDocument = olInspector.WordEditor    Set olRange = olDocument.Content    olMail.Display    olDocument.Paragraphs(1).Range.Select    With olDocument.Application.Selection        .Text = "Hello!!" & Chr(10) & "以下是一个Excel复制的表格" & Chr(10)        .EndKey        .Paste        .EndKey        .Text = Chr(10) & "以上表格为复制生成,保留了原格式"    End With    With olMail        .To = "jaresfzz@163.com"        .Subject = "这是一封带表格的测试邮件"        .Send    End With    Application.ScreenUpdating = TrueEnd Sub

第9行:创建Outlook APP对象

第10行:创建邮件

第11行:复制活动工作表A1单元格所在区域

第12行:获取邮件检查器

第13行:获取Word编辑器

第15行:显示邮件

第16行:选中第一段

第17-23行:将文字写入邮件正文,表格粘贴到邮件正文

第24-28行:设置收件人-主题-发送邮件

下面来看看效果

好了,本期教程就到这里啦,走过路过的点个关注分享一下吧,谢谢啦

求关注-求星标-求点赞-求看-求分享
最近创建了一个VBA学习交流群,如有需要进群可以添加微信 jaresfzz

Excel应用教程
主要提供Excel vba,函数,图表,数据透视表,pq,Js等教程
 最新文章