ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
楼主: 闻启学

[分享] 跟我来! 一步一步教你批量发送邮件

  [复制链接]

TA的精华主题

TA的得分主题

发表于 2018-10-12 17:16 | 显示全部楼层
请教,
1.发件人可否是系统发出而不是个人?
2.是否可套用outlook的签名?因为现在这样发出的邮件都没有了outlook设定好的签名
万分感谢!

TA的精华主题

TA的得分主题

发表于 2018-10-17 15:02 | 显示全部楼层
请教一下楼主,我在被动性升级了WIN10和Office13后,原来批量发送邮件的VB提示无效了,上网查询说是WIN10限制了部分VB的控件,需要另辟蹊径(API函数??),请问一下有没有其他解决方案,毕竟这个API函数不是太了解……

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-10-18 21:11 | 显示全部楼层
Slowton 发表于 2018-10-17 15:02
请教一下楼主,我在被动性升级了WIN10和Office13后,原来批量发送邮件的VB提示无效了,上网查询说是WIN10限 ...

这个只是一般函数  应该无问题

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-10-18 21:12 | 显示全部楼层
winlandfs 发表于 2018-10-12 17:16
请教,
1.发件人可否是系统发出而不是个人?
2.是否可套用outlook的签名?因为现在这样发出的邮件都没有 ...

兄弟  不太懂什么意思  

1.发件人可否是系统发出而不是个人?

TA的精华主题

TA的得分主题

发表于 2018-10-23 16:38 | 显示全部楼层
闻启学 发表于 2018-10-18 21:11
这个只是一般函数  应该无问题

经过排查确认是win10的VB工程引用问题,已经解决,非常感谢!

TA的精华主题

TA的得分主题

发表于 2018-12-2 18:21 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2018-12-9 18:08 | 显示全部楼层
闻启学 发表于 2014-10-14 10:03
小闻:老师,我的数据源在Excel 表里 在outlook 怎样获得Excel 表的数据啊
刘老师: 这个是office 的协同 ...

测试了一下老师这段代码,有两个小小的建议:

1、  .Attachments.Add Cells(rowCount, 4) 后面,最好再增加一个 .value ,不然在 2016 版的测试时,会出现邮件不带附件的情况。

2、  MsgBox rowCount - 1 & "个朋友的问候信发送成功!" 在 2016版测试时,总是多了一个数字。所以,我把它改为了 MsgBox rowCount - 2 。

TA的精华主题

TA的得分主题

发表于 2018-12-9 18:10 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
闻启学 发表于 2014-10-13 21:45
小闻: 老师 如果我要每一封邮件不同收件人和相同附件呢
刘老师: 这个要用一个数据源 来存储这些收件人 ...

关于这段代码,我做了一个更详尽的注释,供初学者学习,此外也有一个问题想请教老师,已标红。还望不吝赐教。

'本程序用于向不同的人发送相同的附件。

Sub hhh()

Dim arr

arr = Array(Array("序号", "主题", "主体", "邮箱"), Array(1, "测试邮件", "你好,测试邮件进行中!!!", "xintianweng107@163.com"), Array(2, "测试邮件", "你好,测试邮件进行中!!!", "360222569@qq.com"))

'首先,定义了一个名叫arr的3维数列。array又定义了一个array 的4维数列。4维数列里,分别存放了“序号”、“主题”、
'“主体”、“邮箱”四个数据。然后,把这四个数列当中的相关的数据填好。

Dim OutApp As Outlook.Application   '//定义OutAPP为outlook的对象变量。

Dim oItem As Outlook.MailItem          '//定义哦Item为outlook邮件的对象变量

Set OutApp = New Outlook.Application '//创建outlook对象

Dim myatt$

myatt = "D:\5.jpg"

'  附件的地址。

For i = 1 To UBound(arr(0)) - 1

'ubound 函数,其值为指定数组维的最大可用下标。在计算机中,数组的第一个值的下标是 0 ,所以 arr(0)在这里,指的是
'arr的第一维数组的第一个元素(其实也是个数组,所以可以用Ubound)。arr(0)就是 Array("序号", "主题", "主体", "邮箱")。
'她这里也可以写为 ubound(arr,2)。由于arr(0)有四个元素,所以其最大可用下标为3,i应该为 1-2。


' 但这里有个地方不能理解,就是从下文来看, i 将作为 arr 的第一维数组的下标来使用。为什么用第二维的数组来定义它呢?
'  还请老师多多指教。

Set oItem = OutApp.CreateItem(olMailItem) '//创建一封新的邮件

With oItem

.To = arr(i)(3) '//邮件收件人

'// .CC = "417149126@qq.com"'//邮件抄送人

.Subject = arr(i)(1) '//邮件的主题

.BodyFormat = olFormatHTML '//设置邮件格式 是否html 格式的

'// .Attachments.Add myatt'//添加附件

.Body = arr(i)(2) '//邮主体内容

'// .Display'//新建邮件窗口显示

.Send '//邮件发送

End With

Next

End Sub


TA的精华主题

TA的得分主题

 楼主| 发表于 2018-12-11 22:24 | 显示全部楼层
信天翁107 发表于 2018-12-9 18:08
测试了一下老师这段代码,有两个小小的建议:

1、  .Attachments.Add Cells(rowCount, 4) 后面,最好 ...

多谢兄台 的建议

1, 代码 已经修改了

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-12-11 23:06 | 显示全部楼层
信天翁107 发表于 2018-12-9 18:10
关于这段代码,我做了一个更详尽的注释,供初学者学习,此外也有一个问题想请教老师,已标红。还望不吝赐 ...

这个数组可以看做 一维数组  嵌套数组 只不过数组里面存放也是数组罢了
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-12-22 19:15 , Processed in 0.034686 second(s), 6 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表