excelvbahtmloutlook发送
如何利用excel的vba将工资单填入数据后通过outlook发送出去
将A表中的数据填入B表后将B表通过outlook发送出去
Excel通过VBA调用CDO发邮件
前期我写了很多关于用VBA调用Jmail群发邮件的工具,其实不仅仅Jmail可以做到,其实Windows自带的cdosys.dll就可以直接调用发邮件。
两者相比而言,Jmail相对比较好控制,但是需要安装Jmail.dll,CDO是系统自带的,可以直接调用。因而我自己也做了一个用CDO发邮件的东东。代码如下:
[code=vb] '代码由轩辕轼轲编写,如对Excel发邮件这个偏门主题感兴趣,可加入QQ群141616426,入群请输入验证代码:Excel发邮件
Sub CDOSENDEMAIL()
Dim CDOMail As Variant
On Error Resume Next '出错后继续执行
Application.DisplayAlerts = False '禁用系统提示
ThisWorkbook.ChangeFileAccess Mode:=xlReadOnly '将工作簿设置为只读模式
Set CDOMail = CreateObject("CDO.Message") '创建对象
CDOMail.From = "10000@qq.com" '设置发信人的邮箱
CDOMail.To = "10000@qq.com" '设置收信人的邮箱
CDOMail.Subject = "主题:用CDO发送邮件试验" '设定邮件的主题
'CDOMail.TextBody = "文本内容" '使用文本格式发送邮件
CDOMail.HtmlBody = "当您看到此封邮件,表明CDO设置正确" '使用Html格式发送邮件
CDOMail.AddAttachment ThisWorkbook.FullName '发送本工作簿为附件
STUl = "http://schemas.microsoft.com/cdo/configuration/" '微软服务器网址
With CDOMail.Configuration.Fields
.Item(STUl & "smtpserver") = "smtp.qq.com" 'SMTP服务器地址
.Item(STUl & "smtpserverport") = 25 'SMTP服务器端口
.Item(STUl & "sendusing") = 2 '发送端口
.Item(STUl & "smtpauthenticate") = 1 '远程服务器需要验证
.Item(STUl & "sendusername") = "10000" '发送方邮箱名称
.Item(STUl & "sendpassword") = "password" '发送方邮箱密码
.Item(STUl & "smtpconnectiontimeout") = 60 '连接超时(秒)
.Update
End With
CDOMail.Send '执行发送
Set CDOMail = Nothing '发送成功后即时释放对象
If Err.Number = 0 Then
MsgBox "成功发送邮件", , "温馨提示" '如果没有出错,则提示发送成功
Else
MsgBox Err.Description, vbInformation, "邮件发送失败" '如果出错,则提示错误类型和错误代码
End If
ThisWorkbook.ChangeFileAccess Mode:=xlReadWrite '将工作簿设置为读写模式
Application.DisplayAlerts = True '恢复系统提示
End Sub[/code]\
这段代码的作用就是将当前工作簿发往指定的信箱,这个在我们做Excel调查问卷的时候很有用处,可以将工程里面封装上这么一段代码,问卷做完之后,点击一个提交按钮直接发送到指定的信箱即可。如对Excel发邮件这个偏门主题感兴趣,可加入QQ群141616426,入群请输入验证代码:Excel发邮件
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。