利⽤ExcelVBA实现Outlook邮件发送实现
这段时间⼀直在为公司设计⼀套基于Excel的数据管理,并利⽤统计后的数据进⾏实现邮件发送,在实现过程中却出现了⼀个⼩的问题:在邮件发送时,会出现安全提⽰,只有接受后,才可以邮件发送,通过互联⽹进⾏查询,却只能发现部分解决⽅法。经过相关测试后,现整理如下:
⽅法⼀:
Sub a()
Dim objOL As Object
Dim itmNewMail As Object
'引⽤Microsoft Outlook
Set objOL = CreateObject("Outlook.Application")
Set itmNewMail = ateitem(0)
With itmNewMail
.Subject = "chijanzen Mail Test" '主旨
.HTMLbody = "<table><tr><td></td></tr></table>"
.to = " "
.Display ‘注意此处使⽤的不是Send,
End With
On Error GoTo continue
SendEmail:
AppActivate itmNewMail
DoEvents
SendKeys "%s", Wait:=True ‘特别注意此处,该项表⽰相关于在邮件编辑窗⼝中,单击发送按钮
DoEvents
AppActivate itmNewMail
GoTo SendEmail
continue:
On Error GoTo 0
Set objOL = Nothing
Set itmNewMail = Nothing
End Sub
⽅法⼆:
vba编程技巧将Excel中需要发送内容转化为⼀个⼩的⽂档,
然后利⽤邮件发送Attachments.Add功能添加该⽂档为邮件附件,如下表⽰
.Attachments.Add "C:/Documents and Settings/zhongwei/桌⾯/Basic Payrolll1.xls", , 1, "4th Quarter 1996 Results Chart"
完成后进⾏邮件发送
⽅法三:
该⽅法在Office 2007中测试通过!
打开OUTLOOK,依次单击“⼯具”|“宏”|“安全性”|
在信任中⼼窗格中,单击“编程访问”|选择“从不向我发出可疑活动警告”, 在EXCEL VBA中直接可以使⽤SEND进⾏邮件发送。
SUB SENDMAIL()
dim ou as object
dim oua as object
set ou = createobject("outlook.application")
set oua = ou.createitem(0)
with oua
.to =""
.subject="Hello"
.body="Send Test"
.send
end with
end sub
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论