主页 > 教育学习

在excel中怎么发送邮件(如何用excel批量发邮件自动发邮件) ? 正数办公

本忻欢 2023-12-12 22:33:06 5762次


一、在excel中怎么发送邮件


一、建立亲友通讯录
  在工作表中建立一个包含不同收件人、主题、内容和附件的亲友通讯录。
二、使用宏实现自动发送电子邮件
  打开“工具→宏→Visual Basic编辑器”,单击“插入→模块”插入一个模块,在“工程”窗口中双击插入的模块,打开它的代码窗口,并输入以下宏:
  Sub 全自动发送邮件()
  "要能正确发送并需要对Microseft Outlook进行有效配置
  On Error Resume Next
  Dim rowCount, endRowNo
  Dim objOutlook As New Outlook.Application
  Dim objMail As MailItem
  "取得当前工作表与Cells(1,1)相连的数据区行数
  endRowNo = Cells(1, 1).CurrentRegion.Rows.Count
  "创建objOutlook为Outlook应用程序对象
  Set objOutlook = New Outlook.Application
  "开始循环发送电子邮件
  For rowCount = 2 To endRowNo
  "创建objMail为一个邮件对象
  Set objMail = objOutlook.CreateItem(olMailItem)
  With objMail
  "设置收件人地址(从通讯录表的“E-mail地址”字段中获得)
  .To = Cells(rowCount, 2)
  "设置邮件主题
  .Subject ="新年好![来自朋友弗人的问候] "
  "设置邮件内容(从通讯录表的“内容”字段中获得)
  .Body = Cells(rowCount, 3)
  "设置附件(从通讯录表的“附件”字段中获得)
  .Attachments.Add Cells(rowCount, 4)
  "自动发送邮件
  .Send
  End With
  "销毁objMail对象
  Set objMail = Nothing
  Next
  "销毁objOutlook对象
  Set objOutlook = Nothing
  "所有电子邮件发送完成时提示
  MsgBox rowCount-1


二、如何用excel批量发邮件自动发邮件


按照下图整理工资明细表
1,列数可自行新增删除;
2,如果整理的数据列,无法发送邮件的请把表头内添加大写字母“X”;
3,工作表名称用作了邮件主题,发送前请修改工作表名称;

启用开发工具选项卡;插入命令控件;修改控件名称及显示名;

进入VBA编程界面;复制以下代码到编辑窗口。

Private Sub 全自动发送邮件_Click()
'要能正确发送并需要对Microseft Outlook进行有效配置
On Error Resume Next
Dim rowCount, endRowNo, endColumnNo, sFile$, sFile1$, A&, B&
Dim objOutlook As Object
Dim objMail As MailItem
'取得当前工作表数据区行数列数
endRowNo = ActiveSheet.UsedRange.Rows.Count
endColumnNo = ActiveSheet.UsedRange.Columns.Count

'取得当前工作表的名称,用来作为邮件主题进行发送
sFile1 = ActiveSheet.Name
'创建objOutlook为Outlook应用程序对象
Set objOutlook = CreateObject("Outlook.Application")

'开始循环发送电子邮件
For rowCount = 2 To endRowNo
'创建objMail为一个邮件对象
Set objMail = objOutlook.CreateItem(olMailItem)

With objMail

'设置收件人地址,数据源所在列数
.To = Cells(rowCount, 5)

'设置抄送人地址(从通讯录表的'E-mail地址'字段中获得)
'.CC = Cells(rowCount, 0)
'设置邮件主题,取值工作表名,
.Subject = sFile1
'设置邮件内容(从通讯录表的“内容”字段中获得)
'align 单元格文本显示方式 left(向左)、center(居中)、right(向右),默认是center, width-宽 height-高 border 单元格线粗细,bordercolor返回或设置对象的边框颜色
'colSpan是一种编程语言,其属性可设置或返回表元横跨的列数

sFile = "您好!
以下是您" + sFile1 + ",请查收!"
sFile = sFile + " "
sFile = sFile + " "
B = 1
For A = 1 To endColumnNo
'数据表头中添加“X”后将不发送此字段
If Application.WorksheetFunction.CountIf(Cells(1, A), "*X*") = 0 Then
If B = 1 Then
sFile = sFile + ""
B = 0

Else
sFile = sFile + ""
B = 1
End If
End If
Next

.HTMLBody = sFile

'设置附件(从通讯录表的“附件”字段中获得)
.Attachments.Add Cells(rowCount, 24).Value
'自动发送邮件
.Send
End With

'销毁objMail对象
Set objMail = Nothing
Next
'销毁objOutlook对象
Set objOutlook = Nothing
'所有电子邮件发送完成时提示
MsgBox rowCount - 2 & "个员工的工资单发送成功!"

End Sub

大功告成,测试图如下

提示:用户定义类型未定义异常处理办法
处理办法:点击工具-引用-勾选

提示:点击发送OUTLOOK安全提示
处理办法:点击文件-选项-信任中心-信任中心设置-编程访问-勾选从不向我发出可以活动警告

提示:编程访问无法勾选显示灰色时
处理办法:控制面板-用户帐号-点击用户帐号-更改用户账户控制设置-调到从不通知,重启电脑,调整完毕OUTLOOK设置可以再调整回来。

步骤阅读

工资表
"
+ Cells(1, A).Text + "
height='25'> " + Cells(rowCount, A).Text + " " + Cells(1,
A).Text + "
" +
Cells(rowCount, A).Text + "

三、如何巧用Excel发送电子邮件


一、建立亲友通讯录
如图所示,在工作表中建立一个包含不同收件人、主题、内容和附件的亲友通讯录。

二、使用宏实现自动发送电子邮件
打开“工具→宏→Visual Basic编辑器”,单击“插入→模块”插入一个模块,在“工程”窗口中双击插入的模块,打开它的代码窗口,并输入以下宏:Sub 全自动发送邮件() "要能正确发送并需要对Microseft Outlook进行有效配置On Error Resume NextDim rowCount, endRowNoDim objOutlook As New Outlook.ApplicationDim objMail As MailItem"取得当前工作表与Cells(1,1)相连的数据区行数endRowNo = Cells(1, 1).CurrentRegion.Rows.Count"创objOutlook为Outlook应用程序对象Set objOutlook = New Outlook.Application"开始循环发送电子邮件For rowCount = 2 To endRowNo"创建objMail为一个邮件对象Set objMail = objOutlook.CreateItem(olMailItem)With objMail"设置收件人地址(从通讯录表的“E-mail地址”字段中获得).To = Cells(rowCount, 2)"设置邮件主题.Subject ="新年好![来自朋友弗人的问候] ""设置邮件内容(从通讯录表的“内容”字段中获得).Body = Cells(rowCount, 3)
"设置附件(从通讯录表的“附件”字段中获得).Attachments.Add Cells(rowCount, 4)
"自动发送邮件.Send End With"销毁objMail对象Set objMail = NothingNext"销毁objOutlook对象Set objOutlook = Nothing"所有电子邮件发送完成时提示MsgBox rowCount-1 && "个朋友的问候信发送成功!" End Sub

4

以上代码在Excel 2000中执行通过,并且对“通讯录”和“全自动发送邮件”宏代码稍作修改就可以完成任何形式的大量邮件的发送。


(0)

相关推荐

发表评论

登录后才能评论

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 1719901459@qq.com 举报,一经查实,本站将立刻删除。