2012-08-14 25 views
3

首先,我是一名新生,对于Outlook的插件开发,最近我从MSDN或其他教程中读了一些学习资料,第一件事让我感到困惑的是,如果我想找到一些东西像某约会会议要求从收件箱中,我首先应该用Application.GetNameSpace(“MAPI”)获得NameSpace不是得到某种物体的像FolderAppointment收藏等等。如何理解outlook 2007数据存储的命名空间

我不明白在加载项开发中的Outlook 2007的数据存储访问模式。我希望有人可以帮助我更好地了解outlook 2007的数据存储访问。

回答

2

A MAPI Session是与Outlook数据存储交互所必需的。 Application.Session可与Application.GetNamespace("MAPI")互换。您可以将会话视为与Outlook数据存储的连接。您可以使用Namespace.GetDefaultFolder来检索约会。

Outlook.Folder appointmentStore = Globals.ThisAddIn.Application.Session.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderCalendar) as Outlook.Folder; 
string apptSubject = string.Empty; 
foreach (Outlook.AppointmentItem appt in appointments.Items.OfType<Outlook.AppointmentItem>()) 
    apptSubject = appt.Subject; 
+0

谢谢,你是什么意思'required'?它意味着“更好”?事实上,我发现有人在某些代码示例中使用Application.GetNamespace(“MAPI”)。GetDefaultFolder(olFolderTasks)'而不是使用'Session'。 – 2012-08-15 14:16:40

+1

它们是等效的。 'Session == GetNamespace(“MAPI”)' – SliverNinja 2012-08-15 14:22:04

+0

因此,这意味着MAPI参考是Outlook 2007插件开发学习路径中必不可少的。是否正确?谢谢 – 2012-08-15 14:27:45