如何用VBA代码控制OUTLOOK发送邮件
'我一直是这样用的
Sub SendMail()
Set myOlApp = CreateObject("Outlook.Application")
Set objMail = myOlApp.CreateItem(olMailItem)
With objMail
.To = "收件人邮箱地址"
.Subject = "邮件主题"
.Body = "邮件正文内容"
.Attachments.Add "附件完整路径,如:D:\1.docx"
.Send
End With
End Sub
运行正常,已经用了一年多了。放在excel或word里都行。
一下如何用VBA实现网络编程,比如实现发邮件的功能
Sub EMAIL()
Dim cm As Variant
Set cm = CreateObject("CDO.Message") '创建对象
cm.From = "ylmylm12@126.com" '设置发信人的邮箱
cm.To = "ylmylm12@126.com" '设置收信人的邮箱
cm.Subject = "主题:邮件发送试验" '设定邮件的主题
cm.TextBody = "宝坻一中信息中心/" '使用文本格式发送邮件
cm.HtmlBody = "123456789000" '使用html格式发送邮件
cm.AddAttachment "D:\张红\调号.xls"
stUl = "" '微软服务器网址
With cm.Configuration.Fields
.Item(stUl "smtpserver") = "smtp.126.com" 'SMTP服务器地址
.Item(stUl "smtpserverport") = 25 'SMTP服务器端口
.Item(stUl "sendusing") = 2 '发送端口
.Item(stUl "smtpauthenticate") = 1 '
.Item(stUl "sendusername") = "ylmylm12 " '发送方邮箱名称
.Item(stUl "sendpassword") = "********" '发送方邮箱密码
.Update
End With
cm.Send '最后当然是执行发送了
Set cm = Nothing '发送成功后即时释放对象
End Sub
自己按说明改一下。
VBA批量生成邮箱URL问题?
两种方法:
Word中有个群发功能, 比较简单.
使用excel vba. 编程. 可以百度一下, 有很多代码.
在EXCEL中用VBA为每封邮件添加一段文本的代码是什么?
VBA没怎么研究,帮你找了个资料,是别人写的。希望对你有帮助。
----------------------------------------------------------
前两天刚刚看过一个不需要outlook发邮件的方法,转贴在下面;
我用access试过是可以的,excel中应该也没有问题,哪位高人给大家做个例子?
:handshake
------------------------------------
Private Sub 发送_Click()
On Error GoTo Err1
If Len(Nz(Me.发件人用户名)) = 0 Or Len(Nz(Me.发送邮箱)) = 0 Or Len(Nz(Me.发件人密码)) = 0 _
Or Len(Nz(Me.收件人用户名)) = 0 Or Len(Nz(Me.接收邮箱)) = 0 Or Len(Nz(Me.主题)) = 0 Then
MsgBox "输入信息不完全!" Chr(13) Chr(13) _
"发件人用户名、邮箱、密码,收件人用户名、邮箱,主题等均要输入。", vbInformation, "提示"
Exit Sub
End If
Dim stUl As String '微软服务器网址
Dim vCDO As Variant 'CDO.Message对象
Dim stUs As String '发送方邮箱名称
Dim stRx As String '发送方邮箱服务器
Dim stPw As String '发送方邮箱密码
Dim stE1 As String '主要接收方邮箱完整帐号
Dim stE2 As String '备用接收方邮箱完整帐号
Dim stZt As String '邮件主题
Dim stNr As String '邮件内容
Dim stFj As String '邮件附件
stUs = Trim(Me.发件人用户名)
stRx = Trim(Me.发送邮箱)
stPw = Trim(Me.发件人密码)
stE1 = Trim(Me.收件人用户名) "@" Trim(Me.接收邮箱)
stZt = Trim(Me.主题)
stNr = Trim(Nz(Me.内容))
stFj = Trim(Nz(Me.附件))
stUl = "" '微软服务器网址
DoCmd.Hourglass True
Me.Label21.Visible = True
Set vCDO = CreateObject("CDO.Message") '建立对象
vCDO.From = stUs "@" stRx '发送方邮箱完整帐号
vCDO.To = stE1 '主要接收方邮箱完整帐号
If Len(stE2) 0 Then vCDO.CC = stE2 '备用接收方邮箱完整帐号
vCDO.SubJect = stZt '邮件主题
vCDO.Textbody = stNr '邮件内容
If Len(stFj) 0 Then vCDO.AddAttachment stFj '邮件附件
With vCDO.Configuration.Fields
.Item(stUl "smtpserver") = "smtp." stRx 'SMTP服务器地址
.Item(stUl "smtpserverport") = 25 'SMTP服务器端口
.Item(stUl "sendusing") = 2 '发送端口
.Item(stUl "smtpauthenticate") = 1 '
.Item(stUl "sendusername") = stUs '发送方邮箱名称
.Item(stUl "sendpassword") = stPw '发送方邮箱密码
.Update
End With
vCDO.Send '发送
Set vCDO = Nothing
MsgBox "发送成功!", vbInformation, "提示"
Exit1:
Me.Label21.Visible = False
DoCmd.Hourglass False
Exit Sub
Err1:
MsgBox Err.Description, vbExclamation, "错误提示"
Resume Exit1
End Sub
Private Sub 关闭_Click()
DoCmd.Close
End Sub
Private Sub 选择附件_Click()
Dim dlgOpen ' As FileDialog
Set dlgOpen = FileDialog(1)
With dlgOpen
.Show
.AllowMultiSelect = False
If .SelectedItems.Count 0 Then Me.附件 = .SelectedItems(1)
End With
End Sub
vba 怎么发Reminder邮件???
改成AppointmentItem试试,没有用Outlook,所以也没办法试。
Dim OutlookApp As Outlook.Application
Dim OutlookItem As Outlook.AppointmentItem
Set OutlookApp = New Outlook.Application
Set OutlookItem = OutlookApp.CreateItem(olAppointmentItem)
1.docx" .SendEnd WithEnd Sub运行正常,已经用了一年多了。放在excel或word里都行。一下如何用VBA实现网络编程,比如实现发