用EXCEL VBA编程:当表格中的某数字小于5的时候,发邮件给指定的人。 非常感谢!!

如题所述

第1个回答  2016-07-25
Sub SendToMail()
    If Range("A1")>=5 Then Exit Sub    '假如需要检测的是A1单元格数据,可自行修改
Set Email = CreateObject("CDO.Message")
qq="XXX"'这里是你的qq号码
pass="***"'这里输入你的密码
strName = "

Email.From = qq&"@qq.com" 
Email.To = "[email protected]"'目的邮箱地址
'Email.cc="[email protected]" '抄送
Email.Subject = ZhuTi '邮件的主题
Email.Textbody =XXX '邮件内容
With Email.Configuration.Fields
.Item(strName & "sendusing") = 2
.Item(strName & "smtpserver") = "smtp.qq.com"
.Item(strName & "smtpserverport") = 25
.Item(strName & "smtpauthenticate") = 1
.Item(strName & "sendusername") = qq
.Item(strName & "sendpassword") = pass
.Update
End With
Email.Send
End Sub

追问

请问用outlook邮箱发的话,代码该如何写?

第2个回答  2016-07-25
试试这个代码
Sub 发邮件()
Dim ou As Object
Dim oua As Object
Dim a As Integer
If a < 5 Then '设置条件,当a小于5的时候发邮件
Set ou = CreateObject("outlook.application")
Set oua = ou.CreateItem(0)
With oua
.To = "[email protected]" '收件人
.Subject = "Hello" '题目
.Body = "Send Test" '内容
.display
.Send '发送
End With
End If
End Sub追问

例如有三个sheet,需要sheet 1里面(T,3)的数字小于5时发邮件。。。该如何改写? 谢谢!!

追答

sheet 1里面(T,3)的数字,是指的【T3】单元格吗?如果是,直接把【T3】单元格赋值给a就行了。
在if a <5 ……的前面加一行
a=sheet1.[T3]
就好了

本回答被提问者和网友采纳
相似回答