我正在处理一个数据库项目,我需要创建 Outlook 2007 插件,将当前预览的消息保存到我的数据库中。
有人可以给我一个关于如何在 Delphi 中创建 Outlook 插件以及如何部署它的分步指南吗?
谢谢
Add-in Express看起来不错。
如果你只是想学习和理解如何去做,只需谷歌搜索 Delphi Outlook 插件(我很确定在这种情况下,“插件”应该比“插件”给你更多相关的结果),你应该想出一个一些稍微过时但仍然正式正确的示例插件的数量,例如来自 Dmitry Streblechenko 的Babelfish 插件(它不再有用,因为它所依赖的 Web 服务不再存在但仍然显示基础知识)或来自 Paul Qualls 的示例插件(这是不幸的是,原始网站不再提供)。还有一个带有完整源代码的邮件白名单插件,但我还没有看过。
但是,您迟早会想要开始使用经过验证的框架,例如ADX,尤其是当您的插件将在公司之外使用时。我们在 Delphi 中开发了一个共享软件插件,插件中大约 75% 的代码只是为了支持各种版本的 Outlook(尤其是 Outlook XP)和不同的设置(最值得注意的是使用 Word 进行消息编辑的选项已经对我们来说是主要的食客)。
另一个因素是必须不断解决愚蠢的 OOM 安全模型。如果没有Redemption或Outlook 安全管理器,您几乎会失败。赎回尤其不能被高度推荐,不仅是为了避免安全提示,而且为了简化大量繁琐的日常任务,并拥有一个可靠、易于使用的框架。
[补充:] 我们确实从我们自己的本土框架开始,并且一切都很好,直到用户数量和他们支持的不同配置的数量爆炸式增长。大约一年前,我们切换到 ADX,并且从未回头。不过,从一开始就使用 Redemption 是一件轻而易举的事 - 要么就是这样,要么在我们开始之前花几个月的时间学习 Extended MAPI(一旦 Redemption 指导你完成了前几个障碍)。
顺便说一句:对于任何自尊的插件开发人员(无论使用何种编程语言)来说,另一个不可或缺的工具是OutlookSpy。这将真正让您查看(和操作)Outlook(以及在某种程度上 Exchange)内部发生的事情,并让您更好地了解插件必须做什么才能达到您想要的效果。
我使用 Delphi 构建了一个 Outlook 插件(将房间预订系统集成到预约表格中)。
一些忠告:
要避免的事情:
我创建了一个插件,用于使用 Delphi 在 Excel(创建我自己的用户定义函数)中使用。您需要的是一个实现 _IDTExtensibility2 接口的插件。
现在我不知道确切的步骤,但搜索 _IDTExtensibility2 会对您有很大帮助。
查看这篇文章以获得一个很好的方法。_IDTExtensibility2 接口的 OnConnection 过程为您提供了 Outlook 应用程序的入口。
糟糕的是,这项工作必须在 Delphi 中完成。与糟糕的过去相比,使用 .NET 和 VSTO 创建 Outlook 插件的痛苦要小得多。我在 COM(一点也不好玩)和以前版本的 VSTO 中制作了 Office 插件,但 VSTO 3 对 Office 开发人员来说是个好消息。