Excel中批量发送邮件

 时间:2025-01-04 09:20:27

1、一、数据准备准备如下图的数据表,包括以下内容:1) 第一列为“邮件地址”,必须是完整的带后缀的邮件地记醋弭床址。2) 第二列为“邮件主题”,不同的收件人可以根据需要写不同的主题。3) 第三列为“邮件内容”,不同的收件人可以根据需要写不同的内容。这里的内容在发送时是以纯文本格式发送的,在单元格里设置的格式均无效。4) 第四列为“邮件附件”,附件必须带有完整的路径,且必须包括文件扩展名。5) 第五列为“邮件签名”,签名必须带有完整的路径,且必须包括文件扩展名。这里的邮件签名是自动提取使用者邮箱里设置的签名,如果没有设置签名,那么将为空。

Excel中批量发送邮件

2、二、插入按钮1、点击“开发者工具”页面,选择“插入”中的“控件工具”。然后选择“命令按钮”,如下图所示:

Excel中批量发送邮件

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

Excel中批量发送邮件

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

Excel中批量发送邮件

5、复制以下代码到VBA编辑器中。替换掉编辑器里原有的两行内容。Private Sub CommandButton1_Click() '稆糨孝汶;要能正确发送并需要对Microseft Outlook进行有效配置 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'提取邮件签名子函数Function GetBoiler(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.CloseEnd Function

6、配置环境。为了正确执行上面的代码,你还需要VBA编辑器中配置一下。1) 在菜单中选择: 工具——〉引用

Excel中批量发送邮件

7、2)在弹出的对话框中找到Microseft Outlook X.0 Object Library并勾选上 (X.0是版本号,不同机器可能不一样)。如下图:

Excel中批量发送邮件

8、3)点击“OK”退出刚才的对话框。回到以下窗口:

Excel中批量发送邮件

9、关闭VBA编辑器,回到Excel表格中。

10、四、运行测试代码1、取消控件编辑状态点击下图红色圈中的“设计模式”按钮,取消刚才插入的控件的编辑状态。

Excel中批量发送邮件

11、运行代码取消按钮的编辑状态之后可以看到按钮四周的编辑框没有了,这时候直接点击按钮就可以运行刚才输入的代码了。

Excel中批量发送邮件

12、测试代码如果上面的代码没有正常运行的话需要重新进入代码编辑器查找原因,解决问题。以上的代码已经经过多次测试没有问题,完全可以正常运行。

Excel中批量发送邮件

13、五、保存模板如果运行完上面的代码之后,还想保存此模板以备下次使用。那么按下保存按钮之后,Excel会跳出以下的对话框。这时候就需要注意了,如果选择“Yes(是),Excel将以正常的Excel揍茏壅混文件保存,默认的扩展名为.xlsx。这是我们是常用的Excel文件。刚才输入的代码将会自动清除。因此如果要保留VBA代码,就一定要选择“No(否)”。

Excel中批量发送邮件

14、点击“No(否)”之后,在下面的“另存为”对话框中选择正确的文件类型,见下图中的蓝色条。这时候文件默认的扩展名为.xlsm。X讣嘬铮篌LSM是XLSX的启用了宏的版本,也就是在XLSX文件中添加了VBA代码。

Excel中批量发送邮件
  • Excel如何用VBA隔行填色?
  • excel批量发邮件怎么做?
  • 怎样实现VBA单击事件
  • Power Query逆透视列处理数据列转换为行的问题
  • 如何用VBA分类求和?
  • 热门搜索
    健康卫生手抄报 五年级手抄报大全 感恩的心手抄报内容 民族民风手抄报 物理手抄报版面设计图 绿山墙的安妮手抄报 生活中的小窍门手抄报 物理手抄报内容 运动手抄报图片 关于运动会的手抄报