outlook 2007开始软件自带邮件召回功能。2003版本没有,可惜此版本盗版最厉害,用户很广,这次项目中用户分布很广,其中outlook2003版本用户数甚多,达到397人。

不可能让他们新装2007/2010等,因此使用outlook2003“工具”菜单中的VBA宏编辑器进行开发

邮件召回的前提:

1、必须是exchange邮件

2、收件人必须是outlook客户端,OWA不支持

3、收件人必须未读邮件

Private WithEvents vsoCommbandButton As CommandBarButton

Private WithEvents vsoCommbandRecallMessage As CommandBarButton

Dim item As Object

Private Sub Application_Startup()

Call addTotalButton

End Sub

'增加工具栏

Sub addTotalButton()

On Error Resume Next

Dim vsoCommandBar As CommandBar

'得到要添加的工具栏

Set vsoCommandBar = Outlook.ActiveExplorer.CommandBars("ExcelClub")

'如果工具栏为空,则增加

If (vsoCommandBar Is Nothing) Then

Set vsoCommandBar = Outlook.ActiveExplorer.CommandBars.add("ExcelClub", msoBarTop)

'在工具栏上增加一个按钮

Set vsoCommbandRecallMessage = vsoCommandBar.Controls.add(1)

vsoCommbandRecallMessage.Caption = "RecallMail"

vsoCommbandRecallMessage.FaceId = 72

vsoCommbandRecallMessage.Style = msoButtonIconAndCaption

 '显示增加的工具栏

vsoCommandBar.Visible = True

Else

Set vsoCommbandRecallMessage = vsoCommandBar.Controls(1)

End If

End Sub

'增加的按钮(RecallMail)的执行

Private Sub vsoCommbandRecallMessage_Click(ByVal Ctrl As Office.CommandBarButton, CancelDefault As Boolean)

'出现错误时下一句代码继续运行

On Error Resume Next

Dim objNS As Outlook.NameSpace

Dim myItem As Outlook.mailItem, objSendFolder As Outlook.MAPIFolder

Dim objItems    As Outlook.Items

Dim tmpItem As Object

Set objNS = Application.GetNamespace("MAPI")

Set objSendFolder = objNS.GetDefaultFolder(olFolderSentMail)

Set objItems = objSendFolder.Items

objItems.Sort "[SentOn]", True

Set tmpItem = objItems.GetFirst

Do While TypeName(tmpItem) <> "Nothing"

        If TypeName(tmpItem) = "MailItem" Then

        Set myItem = tmpItem

        Exit Do

        End If

    Set tmpItem = objItems.GetNext

Loop

Set item = myItem

item.Display

Call ShowAttachmentDialog

myItem.Close olDiscard

End Sub

 Sub ShowAttachmentDialog()

    Dim objInsp

    Dim colCB

    Dim objCBB

    On Error Resume Next

    Set objInsp = item.GetInspector

    Set colCB = objInsp.CommandBars

    Set objCBB = colCB.FindControl(, 2511)

    If Not objCBB Is Nothing Then

        SendKeys "{ENTER}", wait

        objCBB.Execute

    End If

    Set objCBB = Nothing

    Set colCB = Nothing

    Set objInsp = Nothing

End Sub

为outlook增加“邮件召回”功能的更多相关文章

  1. seafile增加邮件服务功能

    这个很简单哈,直接上配置.此处我用的163邮箱 vim /opt/seafile/conf/seahub_settings.py ### 163邮箱配置测试 ### EMAIL_USE_SSL = F ...

  2. 如何设置outlook实现自动秘密抄送邮件的功能?

    很多朋友会发现虽然在家里同步了公司的邮箱可以正常收发邮件,可是每当使用家里的outlook发送相关邮件的时候,在公司的邮箱里找不到相关的发件记录,只能同步收件箱,而不能同步发件箱应该是比较让人困扰的问 ...

  3. django 增加验证邮箱功能

    在user文件夹下新建python包,utils 在包内新建文件email_send.py,其中包括验证字符串随机码的产生,数据库的存储和email的发送 # -*- coding: utf-8 -* ...

  4. .NET开发邮件发送功能的全面教程(含邮件组件源码)

    今天,给大家分享的是如何在.NET平台中开发“邮件发送”功能.在网上搜的到的各种资料一般都介绍的比较简单,那今天我想比较细的整理介绍下: 1)         邮件基础理论知识 2)         ...

  5. discuz3.2x增加邮箱验证功能

    为防止垃圾用户多次注册,为disczu增加邮箱验证功能. 大致分为二步: 1.申请邮箱,这里推荐使用腾讯免费企业邮箱:https://exmail.qq.com/portal/introducefre ...

  6. - C#编程大幅提高OUTLOOK的邮件搜索能力!

    原文:[原创] - C#编程大幅提高OUTLOOK的邮件搜索能力! 使用OUTLOOK, 你有没有遇到过上图的问题? 多达18419封邮件! 太多了, 每次想找一个邮件都非常耗时, 想办法解决这个问题 ...

  7. .NET开发邮件发送功能

    .NET开发邮件发送功能 今天,给大家分享的是如何在.NET平台中开发“邮件发送”功能.在网上搜的到的各种资料一般都介绍的比较简单,那今天我想比较细的整理介绍下: 1)         邮件基础理论知 ...

  8. PyQt5实现邮件合并功能(GUI)

    1. 实战Word批量 需要处理批量替换word的一些数据,数据源从Excel中来. Excel的百分数会变为数字,以及浮点数会多好多精度,为了原汁原味的数据,直接复制数据到文本文件.通过\t来分隔即 ...

  9. EWS Managed API 2.0 设置获取邮件自动回复功能

    摘要 最近要在邮件提醒功能中添加,自动回复的功能.在移动端获取用户在outlook上是否开启了自动回复功能,如果用户在outlook上开启了自动回复功能, 获取用户自动回复的内容,如果没有开启,用户可 ...

随机推荐

  1. android项目总体界面架构(可直接复用)

    文章解读.效果图.源代码下载链接 http://blog.csdn.net/gao_chun/article/details/37903673

  2. PHP 3:从Login界面谈PHP标记

    原文:PHP 3:从Login界面谈PHP标记 前一篇文章简要介绍了此实例.OK,我们就从第一个页面Login页面入手吧.还是看看界面怎么样,是不是很想指导它到底是如何实现的呢?好的,看看其代码吧: ...

  3. Spring源深和六系列 CreateBean过程

    blog宗旨:用图说话. 这一章的图讲述了createBean的过程.到这里spring容器就能够完毕IOC的整个过程,拿到我们须要的对象. 下一章我们接着来看一看AOP完毕的过程. 附:文件夹 Sp ...

  4. 基于NHibernate二级缓存的MongoDB组件

    设计一套基于NHibernate二级缓存的MongoDB组件(上)   摘要:NHibernate Contrib 支持很多第三方的二级缓存,如SysCache,MemCache,Prevalence ...

  5. php调用webservice报错Class 'SoapClient' not found

    原文:php调用webservice报错Class 'SoapClient' not found php在调用webservice时,报告如下类似错误: ( ! ) Fatal error: Clas ...

  6. Swift初探一

    今天安装了一下Xcode6-Beta版,想来体验一下Swift的魅力:安装Swift系统最低版本号为:10.9.3 仅仅看看一点The Swift Programming Language,以下给大家 ...

  7. 前端JS开发框架

    前端JS开发框架-DHTMLX 发框架-DHTMLX   一:介绍 dhtmlxSuite是一个JavaScript库,提供了一套完整的Ajax -驱动UI组件.我们能够使用dhtmlxSuite构建 ...

  8. LINQ TO SQL ——Group by

    原文:LINQ TO SQL --Group by 分组在SQL中应用的十分普遍,在查询,统计时都有可能会用到它.LINQ TO SQL中同样具备group的功能,这篇我来讲下LINQ TO SQL中 ...

  9. Java设置环境变量

    客上转过来的. 非常多人写了非常久java代码.还不知道环境变量是怎么一回事.科普一下. 一.java设置环境变量 - 精简版   1.右键打开我的电脑->属性->高级->环境变量 ...

  10. iis7 下配置MVC问题

    HTTP 错误 404.0 - Not Found 您要找的资源已被删除.已更名或暂时不可用. 详细错误信息 模块 IIS Web Core 通知 MapRequestHandler 处理程序 Sta ...