第一范文网 - 专业文章范例文档资料分享平台

最完美的利用EXCEL自动批量发送邮件-自动调用帐户签名自动化操作

来源:用户分享 时间:2021-06-02 本文由萝莉病 分享 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

完善的利用excel宏调用outlook自动批量发送电子邮件

在excel宏中建立两个模块,分别复制以下两个模块
(根据需要调整相应参数)

提取签名函数:
Function GetBoiler(ByVal sFile As String) As String
'Dick Kusleika
Dim fso As Object
Dim ts As Object
Set fso = CreateObject("Scripting.FileSystemObject")
Set ts = fso.GetFile(sFile).OpenAsTextStream(1, -2)
GetBoiler = ts.readall
ts.Close
End Function


主程序:
Private Declare Function timeGetTime Lib "winmm.dll" () As Long
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Private Sub kaifaxin()
On Error Resume Next
Dim beforeCount
Dim yjCount
Dim i
Dim SigString As String
Dim Signature As String
Dim Savetime As Double
Dim StartTime As Date
Dim rowCount, endRowNo
Dim objOutlook As New Outlook.Application
Dim objMail As MailItem
beforeCount = 1
'取得当前工作表与Cells(1,1)相连的数据区行数
endRowNo = Cells(1, 1).CurrentRegion.Rows.Count
'创建objOutlook为Outlook应用程序对象
Set objOutlook = New Outlook.Application
'开始循环发送电子邮件
For rowCount = 1 To 1000
'创建objMail为一个邮件对象
Set objMail = objOutlook.CreateItem(olMailItem)
SigString = "C:/Users/jake/AppData/Roaming/Microsoft/Signatures/p.htm" '提取签名

If Dir(SigString) <> "" Then
Signature = GetBoiler(SigString)
Else
Signature = ""
End If
With objMail
If (rowCount - beforeCount) <= 100 Or (rowCount - yjCount) <= 100 Then
'设置发信帐户
.SendUsingAccount = objOutlook.Session.Accounts(1)
ElseIf ((rowCount - beforeCount) > 100 And (rowCount - beforeCount) <= 200) Or ((rowCount - yjCount) > 100 And (rowCount - yjCount) <= 200) Then
'设置发信帐户
.SendUsingAccount = objOutlook.Session.Accounts(2)
ElseIf ((rowCount - beforeCount) > 200 And (rowCount - beforeCount) <= 300) Or ((rowCount - yjCount) > 200 And (rowCount - yjCount) <= 300) Then
'设置发信帐户
.SendUsingAccount = objOutlook.Session.Accounts(3)
End If
'设置收件人地址(从通讯录表的“E-mail地址”字段中获得)
.To = Cells(rowCount, 2)
'.To = "abcd@"
'设置邮件主题
.Subject = "si"
'设置邮件内容(从通讯录表的“内容”字段中获得)
.HTMLBody = Signature
'设置附件(从通讯录表的“附件”字段中获得)
' .Attachments.Add Cells(rowCount, 4)
'显示邮件
' .Display
'自动发送邮件
.Send

Savetime = timeGetTime '记下开始时的时间
While timeGetTime < Savetime + 40000 '循环等待
DoEvents '转让控制权,以便让操作系统处理其它的事件。
Sleep 1
Wend
If (rowCount - beforeCount) = 300 Or (rowCount - beforeCount) = 600 Or (rowCount - beforeCount) = 900 Then
yjCount = rowCount
End If
End Wit

搜索“diyifanwen.net”或“第一范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,第一范文网,提供最新初中教育最完美的利用EXCEL自动批量发送邮件-自动调用帐户签名自动化操作全文阅读和word下载服务。

最完美的利用EXCEL自动批量发送邮件-自动调用帐户签名自动化操作.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/wenku/1204597.html(转载请注明文章来源)
热门推荐
Copyright © 2018-2022 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top