测试了下面的代码,必须本机安装的outlook,配置好qq邮箱,还需要打开outlook,vba才能调用outlook发送邮件
Sub SendMail()
Set myOlApp = CreateObject("Outlook.Application")'//后期绑定
Set objMail = myOlApp.CreateItem(olMailItem)'新建一封邮件
With objMail
.To = "xxxx@qq.com"'//收件人
.Subject = "邮件主题" '//就是邮件标题
.Body = "邮件正文内容" '//正文具体内容
.cc = "yyyy@163.com" '//邮件抄送人
.Attachments.Add "f:\派送单.xlsx" '//添加附件
.Display '//刷新显示效果的作用
.Send'//发送
End With
End Sub
我测试了,如果本机的outlook没有打开,上述代码无法使用。
请问,有无办法,可否在outlook关闭的状态下,vba调用outlook发送邮件?
启用 CDO 库:
系统版本可能路径不一样,前提要先启用。
CDO 库通常默认安装在 Windows 上,但在某些系统上可能需要手动启用。你可以通过以下步骤启用它:
Alt + F11
)。工具
->引用
。配置 SMTP 服务器:
一些常见邮件服务的 SMTP 配置信息:
QQ 邮箱:
smtp.qq.com
25
或465
(SSL)Gmail:
smtp.gmail.com
587
(TLS)或465
(SSL)使用CDO库(Collaboration Data Objects)
我写个例子给你参考一下