使用Outlook组件在Outlook插件中显示电子邮件

时间:2015-04-24 07:41:38

标签: outlook controls msg

我们公司开发了一个Outlook插件来实现我们的文档管理系统。用户可以将Outlook文件夹中的电子邮件拖到插件中的网格中。丢弃后,将电子邮件导入特定文件夹中的文档管理系统。该插件还显示了文档管理系统文件夹的内容。当用户点击电子邮件时,从文档管理系统下载MSG文件,检查内容并在插件中显示在自行开发的用户控件中,该控件仅包含标签和一个RTF框到显示RTF体。

用户对此用户控件不满意,因为它并不像Outlook'。我们正在寻找一种方法来显示MSG文件(保存在磁盘上)的开箱即用的控件 - 看起来像Outlook电子邮件控件或者可能有办法使用Outlook本身的那个?

对于用户来说,重要的是要查看正文的HTML版本,内嵌图像,可见附件,并且能够双击它们以打开它们。在完美世界中,控件可能具有预览选项(PDF,文本,图像......)?

2 个答案:

答案 0 :(得分:0)

Outlook不提供此类控件。作为解决方法,您可以:

  1. 使用.net控件显示消息内容(例如,HTML或任何其他自定义控件的Web浏览器)。
  2. 在磁盘上保存.msg文件并以编程方式打开文件。 Outlook对象模型不提供任何内容。但您可以使用Process.Start方法将文件路径作为参数传递。由于只能同时运行一个Outlook实例,因此将在新检查器窗口中的正在运行的Outlook实例中打开该消息。

答案 1 :(得分:0)

使用Namespace.OpenSharedItem / MailItem.Display

set Msg = Application.Session.OpenSharedItem("c:\Temp\test.msg")
Msg.Display