2012-08-14 49 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