利用VBA代码实现让Excel自动发邮件,Excel自动发邮件

今天给大家聊一下如何用自动发邮件,坦白说,这事其实只需要一句。

比如,我要给邮箱"李海博客@qq.com"发一封邮件,标题是"你好啊李海博客",同时将当前工作簿作为附件一起发过去:

代码看不全可以左右拖动..▼

Sub SendMail_1()    
ActiveWorkbook.SendMail "李海博客@qq.com", "你好啊李海博客"
End Sub

你看,是不是只需要一句代码?

代码使用了SendMail,这是工作簿对象的方法,语法格式如下:

工作簿.SendMail(收件人,主题,是否返回收件人)

就三个参数,第3参数还可以省略,只需要提供收件人和主题就可以了。不过需要注意的是它会将工作簿作为附件发送给收件人。

收件人是多人

有朋友可能会问,如果收件人是多人怎么办呢?

将收件人地址修改为一维数组即可。

示例代码如下:代码看不全可以左右拖动..▼

Sub SendMail2() '发送多人    
Dim aName, strTit As String    
aName = Array("李海博客@qq.com", "4234534665@qq.com")    
strTit = "你好啊李海博客"    
ThisWorkbook.SendMail aName, strTit
End Sub

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

发送部分工作表

上面的两段代码都是将整个工作簿作为附件发送出去,如果有朋友只需要发送工作簿中的部分工作表,可以参考以下代码。

以下代码将代码所在工作簿中两个名为"看见星光"和"老祝"的工作表,组合成一个新工作簿,作为附件发送给多个收件人:

代码看不全可以左右拖动..▼

Sub SendMail3() '将指定工作表转换为工作簿发送    
Dim aName, aShtName, strTit As String    
aName = Array("李海博客@qq.com", "测试@qq.com")    
strTit = "你好,这是测试邮件"    
aShtName = Array("Sheet1", "Sheet2")    
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邮箱,不然你凭啥发邮件?

利用VBA代码实现让Excel自动发邮件,Excel自动发邮件

温馨提示:本站提供的一切软件、教程和内容信息都来自网络收集整理,仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负,版权争议与本站无关。用户必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。如果您喜欢该程序和内容,请支持正版,购买注册,得到更好的正版服务。我们非常重视版权问题,如有侵权请邮件与我们联系处理。敬请谅解!

给TA打赏
共{{data.count}}人
人已打赏
Excel/VBA

怎么利用Excel生成二维码?Excel把单元格内容生成二维码

2025-3-10 16:36:51

Excel/VBA

什么是VBA注释? VBA注释的优点,VBA怎么添加注释

2025-3-10 16:36:53

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索