ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

最近给几个CRM软件配套开发了Outlook插件,讲讲Outlook插件开发

[复制链接]

TA的精华主题

TA的得分主题

发表于 2019-6-15 09:23 | 显示全部楼层 |阅读模式

从去年到现在,写了四五个Outlook插件,其中两个是给CRM系统配套使用的,代码经过两三次迭代,目前基本结构相对比较稳定,所以简单说说,做个总结。

开发环境
1、不要使用VSTO开发Outlook插件,除非你是在企业内部使用,有专门的IT管理员可以确保每台电脑安装环境的统一。否则5%的电脑部署不上。
2、推荐使用Com Addins或者一些第三方开源或者商业框架开发Outlook。
3、如果需要操作MAPI或者更底层的东西,推荐使用Redemption库(收费)。
4、C#开发Outlook插件依赖Com对象,这会给开发带来一些限制。

关于Outlook
1、不要相信Outlook里面提供的事件会像想象的那样工作,你只有亲自测试,才会知道这里面有多大的坑。(例如邮件到达事件和同步事件)
2、时刻记住Outlook对邮件的各种操作都是异步的,理解这一点,你才会知道为什么某些代码工作起来不太对劲。
3、Outlook的Ribbon回调与Office其他的程序不同,可以根据不同的界面加载不同的xml,所以它支持动态更新菜单。
4、Outlook的窗格需要包装再调用创建,具体参考MSDN。
5、Outlook的自定义字段是有bug的,反复修改保存会导致Outlook提示邮件被占用,需要等候一段时间重试或重启Outlook。这个问题从2013的某个更新之后开始出现,到Office365依然存在。
6、Outlook对插件的启动和退出要求比较严格,对占用事件较长的插件都会禁用,因此如果你想在插件启动的时候做初始化,建议使用子线程,同时注意跨线程操作Outlook的UI问题。
7、从Outlook 2010开始,默认情况下,Outlook不会调用IDTExtensibility2接口的OnBeginShutdown和OnDisconnection,这是为了确保Outlook可以快速关闭。如果要改变这个默认设置,需要增加插件的注册表设置。
8、注意处理内存泄漏问题。

下面是个Outlook插件的界面
1.png

如果有什么技术问题,欢迎联系我的QQ

评分

2

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2019-6-23 21:30 | 显示全部楼层
本帖最后由 liucqa 于 2021-2-2 22:41 编辑

有的人不知道邮件备份是什么意思

就是把Outlook的MailItem另存成.Msg文件,然后以普通文件上传方式发送给服务器。

上传的邮件可以保存成olDoc ,olHTML ,olICal ,olMHTML ,olMSG ,olMSGUnicode ,olRTF ,olTemplate ,olTXT ,olVCal ,olVCard 几种格式

qq.png

TA的精华主题

TA的得分主题

 楼主| 发表于 2019-9-26 15:03 | 显示全部楼层
最近有人想用插件把Outlook变成自己的邮件工具,改变外观忽悠用户,这个主意大家认为咋样?

TA的精华主题

TA的得分主题

发表于 2019-9-27 10:37 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
要10个字,冒号前面都是废话,我只想说一句:666

TA的精华主题

TA的得分主题

 楼主| 发表于 2021-2-2 22:41 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
qq.png

TA的精华主题

TA的得分主题

发表于 2021-2-22 10:58 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2021-2-25 22:05 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2021-4-7 20:43 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2021-4-20 19:26 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2022-10-28 10:01 | 显示全部楼层
关于Outlook部分的前2条简直非常有用,其他暂时没那么高深的功力,暂时没看懂
另外想请教一下,OL应该不能使用Custom UI Editor来开发RibbonX(我也不知道这句话是不是很业务)
那大概是什么形式去开发功能区呢,可否介绍下,谢谢!
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-11-21 16:43 , Processed in 0.041051 second(s), 16 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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