Outlook-VBA-04-收件箱自动处理
系统:Windows 10
软件:Outlook 2016
- 本系列讲讲在Outlook中使用VBA实现一些功能
- 今天讲讲当收件箱收到一个新邮件的时候,会触发响应
Part 1:场景描述
- 我们希望对收件箱进行监控,每收到一个新邮件的时候,就触发一个动作
- 延伸一下,我们可以对特定邮件进行处理,如邮件主题还有特定关键字的,等等
收到一封新邮件
Part 2:代码
Private WithEvents Items As Outlook.ItemsPrivate Sub Application_Startup()Dim outlookFldr As FolderDim outlookName As NameSpaceSet outlookName = Application.GetNamespace("MAPI")Set outlookFldr = outlookName.GetDefaultFolder(olFolderInbox)Set Items = outlookFldr.Items
End SubPrivate Sub Items_ItemAdd(ByVal Item As Object)Debug.Print ("新收到的邮件主题是:" & Item.Subject)MsgBox "新收到的邮件主题是:" & Item.Subject
End Sub
代码截图
Part 3:部分代码解读
- 若要实现本文中所实现的功能,肯定是要用到事件。Outlook中的
ThisOutlookSession
有点像Excel中的ThisWorkbook
工作簿事件- 双击
ThisOutlookSession
,默认情况下,只有一个Application,支持的事件如下图所示 - 的确有一个
Application_NewMail
事件,当收到新邮件时会触发该事件。但遗憾的是,不能够直接定位最新收到的邮件 - 所以我们需要一个新事件
- 双击
ThisOutlookSession
ThisOutlookSession支持的事件如下图
Private WithEvents Items As Outlook.Items
,通过WithEvents我们可以定义新事件,定义后新增了一个支持事件的对象Items,对应的事件有3个:- Items_ItemAdd
- Items_ItemChange
- Items_ItemAdd
新增Items对象
新增3个事件
3. Application_Startup
,outlook启动事件,上文实现了支持事件的对象定义,在这个Application_Startup
事件中将其初始化,定义为收件箱里的邮件对象。首次使用需要重启Outlook软件使其生效
4. Items_ItemAdd(ByVal Item As Object)
,新收到一个邮件时触发该事件
Ps:也是第1次使用WithEvents,挺有意思
- 更多学习交流,可加小编微信号
learningBin
更多精彩,请关注微信公众号
扫描二维码,关注本公众号
Outlook-VBA-04-收件箱自动处理相关推荐
- 2g限制 outlook_【排障】Outlook Express 2G收件箱大小限制
Outlook Express 2G收件箱大小限制 文:铁乐猫 ----------------------------- Outlook Express(以下简称OE)客户端收件箱大于或接近2G时, ...
- 如何在outlook里面把收件箱分组,以便快速的查看最重要的email。
公司越大,cc过来的邮件就越多,有些cc邮件太多了,导致可能会忽略掉在cc邮件之间的那些需要自己快速处理的重要事件.因此需要做邮件分组,把单独发给自己的列成一个文件夹.定时察看这个制定的文件夹来处理自 ...
- 如何在outlook里面把收件箱分组,以便快速的查看最重要的email
分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 公司越大 ...
- 解决Outlook分组后收件箱无收件提示的方法
问题: Outlook2016PC版客户端,收件箱在分成多个小组并设置相应的规则后,发现收到邮件后Outlook无提示,未读邮件也未新增,必须点开分组才能看到有新邮件,对工作效率产生了影响. 解决方法 ...
- 已解决-Outlook 收件箱全部标记为已读,但还是有未读数字提示
问题: Outlook收件箱里面的邮件都通过右键-全部标为已读了,但是Outlook中的收件箱还是有数字提示未读邮件. 原因: 在服务器上仍然有未读邮件,没有下载到本地 解决方法: 1.登录网页版的O ...
- outlook exprss 的收件夹超过2G 代码0x800c0133
当outlook exprss 的收件夹超过2G,要收件的时候,会提示 "发生原因不明的错误..............错误代码 0x800c0133 解决方法: 第一种: 要经常的清理删除 ...
- VBA宏:outlook收件箱中发件人使用联系人
VBA宏:outlook收件箱中发件人使用联系人 前言 使用方法 详细代码 函数1 函数2 总结 前言 outlook有个特别不符合国人习惯的小问题:即使发件人已经添加到了联系人地址簿中,在收件箱中查 ...
- outlook收件箱显示_Outlook中的垃圾电子邮件,混乱邮件和重点收件箱有什么区别?
outlook收件箱显示 If you use a recent version of Outlook, you've probably noticed a Junk Email folder, a ...
- 根据Outlook收件箱的邮件提取发件人邮箱地址到excel后再导入到Outlook联系人
根据Outlook收件箱的邮件提取发件人邮箱地址到excel后再导入到Outlook联系人步骤如下: 1,新建工作簿book1,第一张表取名"邮件地址提取",并保存 2,ALT+f ...
- Outlook收件箱总显示有未读邮件问题
Outlook版本为2013,有时候收件箱里面的邮件都已经标记为已读了,可是文件夹还是提示存在未读邮件. 搜索后发现是在服务器上仍然有未读邮件造成,解决方法: 右键对应文件夹->属性->清 ...
最新文章
- 制备pdms膜的方法_专利:一种热致变色纳米纤维膜及其制备方法
- 【Alpha】事后分析
- 开发中遇到的java小知识
- pandas重采样时指定对不同列的不同操作
- 新格尔软件测试大师,新格尔神雕软件
- ssl证书的生成与签名
- 解决 elementUI 切换table后 el_table 固定列下方多了一条线
- 2014年武汉的IT行情好像不太好(续):20个月过后,再看当时面试过的几个公司--武汉财富基石-崩盘,辣妈萌宝-创业失败,朋友公司转交他人管理...
- ubuntu网络设置找不到有线连接_win7系统找不到网络打印机如何解决?局域网打印机共享怎么设置?...
- 好玩的WPF第二弹:电子表字体显示时间+多彩呼吸灯特效按钮
- RGB 与 RGBA 与 16进制 与 HSL 之间的简单转换
- R语言非参数检验(一)
- php 相加函数,求和函数是什么
- Java多线程系列--“JUC线程池”03之 线程池原理(二)
- 大数据仓库之拉链表讲解与举例说明【基础部分】
- php slik转wav_silk转mp3(小程序音频silk转普通mp3接口)
- 【信奥赛一本通】1253:抓住那头牛(详细代码)
- 天猫魔盒改无线打印服务器,图文教学天猫魔盒如何设置WIFI的过程
- uniapp 调用阿里云OCR行驶证识别
- 【论文写作】学术英语写作辅助工具推荐:Academic Phrasebank