【问题标题】:How to understand Namespace of outlook 2007 data store如何理解outlook 2007数据存储的命名空间
【发布时间】:2012-08-10 23:36:07
【问题描述】:

首先,我是outlook插件开发的新手,最近看了一些MSDN或其他教程的学习资料,第一件事让我很困惑,如果我想找到某个约会之类的东西Meeting Request 来自收件箱,我应该首先使用Application.GetNameSpace(“MAPI”) 获取NameSpace 而不是获取某种对象,如FolderAppointment Collections 等。

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

【问题讨论】:

    标签: outlook vsto outlook-addin outlook-2007


    【解决方案1】:

    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;
    

    【讨论】:

    • 谢谢,required 是什么意思?这意味着better?实际上我发现有人在一些代码示例中使用Application.GetNamespace("MAPI").GetDefaultFolder(olFolderTasks),而不是使用Session
    • 它们是等价的。 Session == GetNamespace("MAPI")
    • 所以,这意味着MAPI参考是Outlook 2007外接程序开发学习路径上必不可少的东西。对吗?谢谢
    • 是的 - 您需要为许多 Outlook 集成任务引用 MAPI 会话。这取决于您正在执行的自定义。
    • 嗨,忍者,需要你帮忙检查一下,我认为session 是访问 Outlook 数据项的 MAPI 方式,GetNamespace 是对象模型和 PIA 的另一种方式。这是正确的吗?谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-17
    • 2021-08-26
    • 2011-04-17
    • 2021-12-16
    • 2015-01-01
    相关资源
    最近更新 更多