MS Outlook - 自动扩展表单

XOR*_*XOR 0 outlook vsto add-in outlook-addin outlook-form

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

它应该在Outlook 2003和2007中有效.

主要问题是:

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

UPDATE

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

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

Kse*_*pac 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种类型之一:Adjacent,Separate,Replace或Replace-All.相邻意味着它显示在默认表单的底部.单独表示它是表单内的新"页面".替换意味着它替换默认表单的第一页,并且替换所有意味着它替换默认表单的所有页面.

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

您有两种方法来设计表单区域.第一种推荐方式是Outlook 2007中的设计器:类似"工具>表单>创建区域表单".你设计内容,将表单保存为.ofs文件,然后将其导入Visual Studio.

好处 :

  • 由Microsoft推荐,因此几乎所有有关自定义Outlook 2007的资源都使用此方法.
  • Outlook的现成控件(例如用于保存邮件地址的字段).
  • 自动绑定到邮件中的UserProperty.

缺点 :

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

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

好处 :

  • 你拥有所有最新的,强大的,winforms控制你想要的.
  • 好设计师.
  • 易于更新.

缺点 :

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

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

至于绑定,您可能可以通过事件执行此操作.例如,在保存或发送消息之前会触发事件.

这一切都是现在,我希望我不会偏离我的长篇答案,并且它可以帮助您确切地确定您想要做什么.您应该了解Outlook允许您执行的操作,然后针对每个点提出更具体的问题.