如何创建自定义Outlook项目?

时间:2009-05-08 23:48:32

标签: c# outlook vsto outlook-addin

我了解Outlook已设置项目,即邮件,任务,日历,便笺等。如何创建Outlook将识别为其他项目的自定义项?我知道当您添加Business Contact Manager时,它会创建“机会”等项目

您可以覆盖Item,还是继承Item并更改/添加属性和方法?

的示例:

olAppointmentItem           1         Represents an AppointmentItem 
olContactItem               2         Represents a ContactItem 
olDistributionListItem      7         Represents an DistListItem 
olJournalItem               4         Represents a JournalItem 
olMailItem                  0         Represents a MailItem 
olNoteItem                  5         Represents a NoteItem 
olPostItem                  6         Represents a PostItem 
olTaskItem                  3         Represents a TaskItem 

3 个答案:

答案 0 :(得分:4)

Outlook可以创建自定义表单。你使用表单设计器bultin来展望,有一个内置所有版本的Outlook。您可以使用Tools |启动设计会话表格|设计一个Form命令。或者,在Outlook 2003或更早版本中打开任何Outlook项目,然后选择“工具”|表格|设计此表格。

当您设计表单时,您可以根据退出表单开始这样的约会,任务等。与空白表单最接近的是帖子表单。

表单后面可以有VBScript代码来响应用户操作 - 验证数据,与数据库同步,创建新的Outlook项目等。要添加代码,一旦处于表单设计模式,请单击“查看代码”命令在工具栏或功能区上。

然后,您可以将表单发布到组织表单库中,以便每个人都可以访问它们。它们也可以直接发布到文件夹。个人表单将发布到文件夹或个人表单库中。

在Outlook帮助中有很多关于此类事情的帮助文档,谷歌也会返回大量网站,向您展示如何。

答案 1 :(得分:4)

  

您无法创建新的“类型”;但是你   当然可以重复使用现有的   类型通过添加自己的属性。

该评论不正确。您当然可以使用自定义表单,只需将它们首先发布到表单库,然后使用户可以访问它们。通常它们基于其中一种默认项类型的设计,也可以与文件夹关联作为默认项类型。

编辑:(根据评论请求更新帖子)

A.创建并发布自定义表单 - http://office.microsoft.com/en-au/outlook/HA012106101033.aspx

B中。以编程方式创建自定义表单的实例。

Outlook.Application olApp = new Outlook.Application();
    //mapifolder for earlier versions (such as ol 2003)
    Outlook.Folder contacts = olApp.Session.GetDefaultFolder(Outlook.olDefaultFolders.olFolderContacts);
    //must start with IPM.   & must be derived from a base item type, in this case contactItem.
    Outlook.ContactItem itm = (Outlook.ContactItem)contacts.Items.Add(@"IPM.Contact.CustomMessageClass");
    itm.Display(false);

答案 2 :(得分:0)

您无法创建新的“类型”;但您可以通过添加自己的属性来重复使用现有类型。