当前位置:首页 > 办公设计 > Office教程 > 写一句VBA代码,让Excel自动发邮件~

写一句VBA代码,让Excel自动发邮件~

1年前 (2025-05-24)Office教程1560

嗨,大家好,我是星光。
今天给大家聊一下如何用Excel自动发邮件。

坦白说,这事其实只需要一句VBA代码。
比如,我要给邮箱”Excel@qq.com”发一封邮件,标题是”你好啊看见星光”,同时将当前工作簿作为附件一起发过去?

Sub SendMail_1()
ActiveWorkbook.SendMail "Excel@qq.com", "你好啊看见星光"
End Sub

你看,是不是只需要一句代码?
代码使用了SendMail,这是工作簿对象的方法,语法格式如下:
工作簿.SendMail(收件人,主题,是否返回收件人)
就仨参数,第3参数还可以省略,只需要提供收件人和主题就可以了。不过需要注意的是它会将工作簿作为附件发送给收件人。

 

▎收件人是多人

有朋友可能会问,如果收件人是多人怎么办呢?
将收件人地址修改为一维数组即可。

示例代码如下:

Sub SendMail2() '发送多人
Dim aName, strTit As String
aName = Array("Excel@qq.com", "469772827@qq.com")
strTit = "你好啊看见星光"
ThisWorkbook.SendMail aName, strTit
End Sub

第3行代码指定了两个收件人。

 

▎发送部分工作表

上面的两段代码都是将整个工作簿作为附件发送出去,如果有朋友只需要发送工作簿中的部分工作表,可以参考以下代码。
以下代码将代码所在工作簿中两个名为”看见星光”和”老祝”的工作表,组合成一个新工作簿,作为附件发送给多个收件人:

Sub SendMail3() '将指定工作表转换为工作簿发送
Dim aName, aShtName, strTit As String
aName = Array("Excel@qq.com", "测试@qq.com")
strTit = "你好,这是测试邮件"
aShtName = Array("看见星光", "老祝")
Worksheets(aShtName).Copy
ActiveWorkbook.SendMail aName, strTit
ActiveWorkbook.Close False
End Sub

第5行代码指定了两个工作表名称,第6行代码使用工作表对象的Copy方法,将指定工作表集合转换为单独工作簿。
第7行代码发送邮件,第8行代码关闭并不保存当前工作簿。

 

▎发送指定工作簿

我先说一句大实话,在我眼里,看到这里的朋友都是靓仔美女。摊手,那再提一个新问题,上述代码是将代码所在工作簿作为附件发送,如果是将发送指定工作簿作为附件怎么办呢?

以下代码可以将当前工作簿同路径下的一个名为”测试”的工作簿,作为附件,发送指定收件人。

Sub SendMail4() '发送指定路径下工作簿
Dim aName, strPath As String, wk As Workbook, strTit As String
aName = Array("Excel@qq.com", "测试@qq.com")
strTit = "你好,这是测试邮件"
strPath = ThisWorkbook.Path & "/测试.xlsx"
Set wk = Workbooks.Open(strPath)
ActiveWorkbook.SendMail aName, strTit
ActiveWorkbook.Close False
End Sub

第5行代码指定了目标工作簿的完整路径。第6行代码使用工作簿的Open方法打开该工作簿。
第7行代码发送邮件,操作对象是ActiveWorkbook,即当前活动工作簿。第8行代码关闭并不保存当前工作簿。

……

最后,我再说一句大实话,使用以上代码时务必先打开并登陆Outlook邮箱,不然你凭啥发邮件图片就凭身材好结实?脸蛋美嘟嘟?家里有钱不够花?——那不成呀。

扫描二维码推送至手机访问。

欢迎转载或分享本篇文章。

本文链接:https://www.jcba123.com/article/1549

分享给朋友:

“写一句VBA代码,让Excel自动发邮件~” 的相关文章

Excel倒计时功能公式计算剩余的天数、时间和秒数

Excel倒计时功能公式计算剩余的天数、时间和秒数

时间对我们每个人都很重要。我们总是着眼于当前时间,为下一秒钟做好适当的安排。浪费时间就是浪费生命,所以时间的重要性不言而喻。我们经常数下一些重要的日子,为重要时刻的到来做准备。在这里,小王老师将与您分享一些Excel倒计时的功能公式,它可以随时提醒您预设日期的到来。 1.倒计时日 在这里,...

将流程图进行到底,PPT中带图片的流程图

将流程图进行到底,PPT中带图片的流程图

在制作PPT的时候,我们经常会将一些有结构性的内容,用流程图来展示出来。说到流程图,大多数情况下很多人都会选择文字形式的流程图,但在PPT里面,我们可以尽量少文字,能够用图片体现出来是最好不过。所以,易老师今天就来和各位一起探讨一下带图片的流程图,这项功能在07或之前的版本中是木有的。 插入S...

Excel:清除身份证号中的空格,这个方法挺管用

Excel:清除身份证号中的空格,这个方法挺管用

在系统导出的员工信息表中,身份证号码之后有多个空格,影响到个人信息的比对分析。 在编辑栏中拖动鼠标,就可以看到这些讨厌的空格: 如果使用替换功能直接将空格替换掉,身份证号码就会面目全非了: 这个问题估计很多小伙伴遇到过吧,下面老祝就和大家分享一个简单有效的方法。 1、先...

如何制作PPT烫金字体

如何制作PPT烫金字体

第一步:首先,在素材网站上搜索并下载一张金色纹理背景图片。 第二步:打开PPT软件,创建一个新的空白演示文稿。然后,在幻灯片上插入一个文本框,并在文本框中输入所需的文字。 第三步:右键点击文本框,选择“设置形状格式”。在弹出的对话框中,选择“文本选项”,然后选择“图片或纹...

PPT如何导出视频

PPT如何导出视频

第一步:打开需要转换视频的PPT文档。 第二步:设置播放的节奏,点击幻灯片放映,排练计时。将效果完整的播放一遍。点击保存计时,此时,导出视频的时间节奏,就会以本次排练计时的时间为准了。   第三步:在点击文件,创建视频,再点击创建视频,保存。此时,视频就导出成功啦!...

数据有效性的几个典型应用,看看你是哪一级

数据有效性的几个典型应用,看看你是哪一级

今天和小伙伴们一起分享数据有效性的几个典型应用。 普通青年这样用 步骤简要说明: 选中区域,设置数据验证,允许条件选择序列,输入要在下拉菜单中显示的内容: 男,女 注意不同选项要使用半角的逗号隔开。   初级青年这样用 步骤简要说明: 选中数据区域,设置数据验证,在【输入信息】选项卡下...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。