【问题标题】:MAPI find the contacts and calendar folderMAPI 查找联系人和日历文件夹
【发布时间】:2010-05-20 21:45:41
【问题描述】:

在我的 Outlook 中,我有 1 个交换连接和 2 个个人文件夹。

我想从日历和联系人中获取所有项目,所以我使用:

           /**
             * Create outlook application
             */
            Outlook.Application oApp = new Outlook.Application();
            Outlook.NameSpace oNS = oApp.GetNamespace("mapi");
            oNS.Logon(Missing.Value, Missing.Value, true, true);

            /**
             * Loop through all the folders
             */
            foreach (Outlook.MAPIFolder oFolder in oNS.Folders)
            {
                if (oFolder.Name == "Public Folders")
                {
                    break;
                }

                /**
                 * Get calendar items
                 */
                //Outlook.MAPIFolder oCalendar = oNS.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderCalendar);
                Outlook.MAPIFolder oCalendar = oFolder.Folders[5];
                Outlook.Items oCalendarItems = oCalendar.Items;

                //Outlook.MAPIFolder oContacts = oNS.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderContacts);
                Outlook.MAPIFolder oContacts = oFolder.Folders[7];
                Outlook.Items oContactItems = oContacts.Items;

但这不起作用 oFolder.Folders[5] 日历并不总是 5,有时它是不同的值。

我无法按名称找到项目 oFolder.Folders["Calendar"]; 因为在荷兰语中,该文件夹将被命名为“议程”。

通常我使用: Outlook.MAPIFolder oCalendar = oNS.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderCalendar);

但是我只得到默认日历。如何获取其他日历?

【问题讨论】:

    标签: c# outlook mapi


    【解决方案1】:

    我认为您必须翻阅文件夹列表并查看返回 OlItemType 类型的 Folder.DefaultItemType Property,您会想要返回 olAppointmentItem 和 olContactItem 的类型

    马库斯

    【讨论】:

    • 谢谢,这正是我现在所做的 :-)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-14
    • 2021-11-02
    • 1970-01-01
    • 1970-01-01
    • 2018-04-10
    • 2015-06-02
    相关资源
    最近更新 更多