0

我需要开发能够使用从远程服务器下载的选项卡扩展现有表单的 Outlook 扩展。例如,在约会表格中应出现附加选项卡。此选项卡中的表单定义是从 Web 服务下载并使用 WPF 呈现的。此选项卡的数据也来自服务器,并绑定到表单字段。最后一件事 - 当表单被保存时,它也应该被提交到这个远程服务器。

它应该在 Outlook 2003 和 2007 中工作。

主要问题是:

  1. 有可能吗?
  2. 读什么能更快掌握?MSDN 很大,甚至它的 Outlook 开发人员部分。
  3. 有样品吗?

更新

非常感谢您的回答!当然,有太多不同的问题,所以我必须把它分解成几个部分。阅读回复并完成作业后,我想继续:

  1. 是的,这是可能的。不过,也许我稍后会发现一些水下岩石。
  2. 最好的方法是使用 VS 2008 并尝试进行扩展。
4

2 回答 2

5

好的,您的帖子中有很多问题,我想我有一些答案,但不是全部。无论如何,您的问题中有太多内容,一篇文章无法涵盖所有​​内容。

首先要知道的是,Outlook 2007 的处理方式与以前的版本不同。因此,您可能需要执行两次才能同时使用 Outlook 2003 和 2007。

首先要知道的是有助于搜索所需内容的词汇表。在 Outlook 2003 中,您将使用自定义表单来创建或扩展表单。在 Outlook 2007 中,您将使用新的表单区域。尽管它们在概念上相似,但它们是两个不同的东西。

因为我只在 Outlook 2007 中工作过,所以我接下来要说的仅适用于此。您需要拥有 Visual Studio 2005 并下载 VSTO(Visual Studio Tools for Office)或 Visual Studio 2008。

表单区域有 4 种类型之一:相邻、分离、替换或全部替换。相邻意味着它显示在默认表单的底部。分离意味着它是表单内的一个新“页面”。Replace 表示替换默认表单的第一页,Replace all 表示替换默认表单的所有页面。

你说你想使用标签。在 Outlook 2007 中,您不应该这样做。您应该使用单独的页面,以尊重 Outlook 2007 中的 UI 原则。您可以创建选项卡,但您会发现它们看起来很丑陋。另一方面,功能区中出现单独的页面,使您可以轻松地从一个页面切换到另一个页面。

您有两种设计表单区域的方法。第一种推荐方式是 Outlook 2007 中的设计器:类似于“工具 > 表单 > 创建区域表单”。您在这个东西内部进行设计,将表单保存为 .ofs 文件,然后将其导入 Visual Studio。

优点 :

  • 微软推荐,所以几乎所有关于自定义 Outlook 2007 的资源都使用这种方法。
  • Outlook 的现成控件(例如用于保存邮件地址的字段)。
  • 自动绑定到邮件中的 UserProperty。

缺点 :

  • 粗鲁的设计师(很难让事情正确对齐)。
  • 每当您想要更新您的表单时,您都必须在 Outlook 中对其进行修改,然后在 Visual Studio 中再次上传,这将删除您之前的代码。
  • 旧的 COM 控件很难使用。

另一种方法是在 Visual Studio 中设计一个新的 Region Form。

优点 :

  • 您拥有所需的所有最新、强大的 winforms 控件。
  • 更好的设计师。
  • 易于更新。

缺点 :

  • 您不会找到太多关于它的信息,因为大多数书籍作者只使用 Outlook 设计器。
  • 您将不得不自己编写许多在 Outlook 中认为理所当然的行为(例如,创建一个可以保存和检查多个邮件地址的文本框),这非常痛苦并且可能很难做到。

我认为您可以通过邮件发送自定义表单(至少是在 Outlook 中设计的表单),但我不确定,因为我自己从未尝试过。

至于绑定,您可能可以使用 event.xml 来执行此操作。例如,有些事件会在保存或发送消息之前触发。

这就是现在的全部内容,我希望我的冗长回答不会偏离主题,并且它可以帮助您准确确定您想要做什么。您应该对 Outlook 允许您执行的操作有所了解,然后针对每一点提出更具体的问题。

于 2009-06-22T13:38:09.820 回答
1

正如您所描述的那样,这是不可能的,但您可以从中获得一些方法。Ksempac 还指出了很多关于如何在 Outlook 2007 中做事的利弊。

要在 2003 年和 2007 年启动并运行它,我认为最好的方法是设计自己的预约表格。您可以扩展其中一个选项卡以拥有一个浏览器控件,该控件显示来自您的 Web 服务的动态表单。其结果可以与新的 Outlook 表单一起提交或保存,以供以后渲染/处理。

例子 :

表单设计示例: http ://www.msexchange.org/articles/Designing-Outlook-Forms-Part1.html

覆盖默认表单: http: //support.microsoft.com/ ?kbid=241235

在这里和网上有很多关于设计 Outlook 表单的好东西,你可以在这里问各种方式。还有几本关于表格的好书:

Sue Mosher 的书籍和网站是一个很好的起点。Outlookcode.com

Microsoft Outlook 编程:管理员、开发人员和高级用户的快速入门(ISBN 1-555-58286-9,数字出版社)

Microsoft Outlook 2007 编程:高级用户和管理员的快速入门(ISBN 1-55558-346-6,数字出版社)

作为Ksempac,您可能需要分解您的问题并在进行时询问..

更新如果您有一些预算 Add-in Express http://www.add-in-express.com/将减轻部署到 2 个版本的 Outlook 的痛苦,并且您可能会比手动操作更快地提高工作效率.

于 2009-06-22T13:53:17.607 回答