怎么通过excel发送outlook邮件? 您所在的位置:网站首页 vba通过outlook发邮件 怎么通过excel发送outlook邮件?

怎么通过excel发送outlook邮件?

#怎么通过excel发送outlook邮件?| 来源: 网络整理| 查看: 265

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 = "[email protected]" '设置发信人的邮箱 CDOMail.To = "[email protected]" '设置收信人的邮箱 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发邮件



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有