excel群发邮件 支持html,怎么给excel表格中的邮箱群发邮件

在日常工作中,经常会遇到需要群发邮件的情况,但很多时候我们有的只是一张有邮箱地址的excel表格,很多人这时不知道下一步该怎么做,今天一米软件就来教教大家怎么给excel表格中的邮箱群发邮件。

b2310b783f18fb5523f56ce75586a63e.png

一、数据准备

主要包括以下内容:

1) 第一列为“邮件地址”,必须是完整的带后缀的邮件地址。

2) 第二列为“邮件主题”,不同的收件人可以根据需要写不同的主题。

3) 第三列为“邮件内容”,不同的收件人可以根据需要写不同的内容。这里的内容在发送时是以纯文本格式发送的,在单元格里设置的格式均无效。

4) 第四列为“邮件附件”,附件必须带有完整的路径,且必须包括文件扩展名。

5) 第五列为“邮件签名”,签名必须带有完整的路径,且必须包括文件扩展名。这里的邮件签名是自动提取使用者邮箱里设置的签名,如果没有设置签名,那么将为空。

二、插入按钮

1、点击“开发者工具”页面,选择“插入”中的“控件工具”。然后选择“命令按钮”

2、画出按钮

在表格下面空白处画出“命令按钮”。这时候该按钮默认为编辑状态,按钮四周也有编辑框。

三、输入代码

1、双击可编辑状态的“命令按钮”,便进入VBA代码编辑器。

2、复制以下代码到VBA编辑器中。替换掉编辑器里原有的两行内容。

PrivateSub CommandButton1_Click()

'要能正确发送并需要对MicroseftOutlook进行有效配置

On Error Resume Next

Dim rowCount, endRowNo

Dim objOutlook As New Outlook.Application

Dim objMail As MailItem

Dim SigString As String

Dim Signature As String

'取得当前工作表与Cells(1,1)相连的数据区行数

endRowNo = Application.WorksheetFunction.CountIfs(Range("A:A"),"<>")

'创建objOutlook为Outlook应用程序对象

Set objOutlook = New Outlook.Application

'开始循环发送电子邮件,比如从第二行开始,第一行是标题

For rowCount = 2 To endRowNo

Set objMail =objOutlook.CreateItem(olMailItem) '创建objMail为一个邮件对象

'提取邮件签名

SigString =Worksheets("Sheet1").Cells(2, 5)

If Dir(SigString) <>"" Then

Signature =GetBoiler(SigString)

Else

Signature = ""

End If

With objMail

.To = Cells(rowCount,1).Value '设置收件人地址(从Excel表的第一列"邮件地址"字段中获得)

.Subject = Cells(rowCount,2).Value '设置邮件主题(从Excel表的第二列"邮件主题"字段中获得)

.HTMLBody = Cells(rowCount,3).Value & Signature '设置邮件内容(从Excel表的第三列"邮件内容"字段中获得)

.Attachments.Add Cells(rowCount,4).Value '设置附件(从Excel表的第四列"附件"字段中获得)

.Send

End With

Set objMail = Nothing '销毁objMail对象

Next

MsgBox ("邮件全部发送完成!")

Set objOutlook = Nothing '销毁objOutlook对象

End Sub

'提取邮件签名子函数

FunctionGetBoiler(ByVal sFile As String) As String

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

EndFunction

Stkcd [股票代码] ShortName [股票简称] Accper [统计截止日期] Typrep [报表类型编码] Indcd [行业代码] Indnme [行业名称] Source [公告来源] F060101B [净利润现金净含量] F060101C [净利润现金净含量TTM] F060201B [营业收入现金含量] F060201C [营业收入现金含量TTM] F060301B [营业收入现金净含量] F060301C [营业收入现金净含量TTM] F060401B [营业利润现金净含量] F060401C [营业利润现金净含量TTM] F060901B [筹资活动债权人现金净流量] F060901C [筹资活动债权人现金净流量TTM] F061001B [筹资活动股东现金净流量] F061001C [筹资活动股东现金净流量TTM] F061201B [折旧摊销] F061201C [折旧摊销TTM] F061301B [公司现金流1] F061302B [公司现金流2] F061301C [公司现金流TTM1] F061302C [公司现金流TTM2] F061401B [股权现金流1] F061402B [股权现金流2] F061401C [股权现金流TTM1] F061402C [股权现金流TTM2] F061501B [公司自由现金流(原有)] F061601B [股权自由现金流(原有)] F061701B [全部现金回收率] F061801B [营运指数] F061901B [资本支出与折旧摊销比] F062001B [现金适合比率] F062101B [现金再投资比率] F062201B [现金满足投资比率] F062301B [股权自由现金流] F062401B [企业自由现金流] Indcd1 [行业代码1] Indnme1 [行业名称1] 季度数据,所有沪深北上市公司的 分别包含excel、dta数据文件格式及其说明,便于不同软件工具对数据的分析应用 数据来源:基于上市公司年报及公告数据整理,或相关证券交易所、各部委、省、市数据 数据范围:基于沪深北证上市公司 A股(主板、小企业板、创业板、科创板等)数据整理计算
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值