在Outlook 2013中打开不是默认日历的共享日历

在Outlook 2013中打开不是默认日历的共享日历,outlook,outlook-addin,Outlook,Outlook Addin,我知道有人问过这个问题,但我有一个具体的问题,我还没有找到答案。我正在尝试从其他用户打开共享日历,而他/她的日历不是他们的默认日历 我尝试了以下方法: var ns = Globals.ThisAddIn.Application.Session; var recip = ns.CreateRecipient("me@me.com"); if (recip.Resolve()) { var sharedCal = ns.GetSharedDefault

我知道有人问过这个问题,但我有一个具体的问题,我还没有找到答案。我正在尝试从其他用户打开共享日历,而他/她的日历不是他们的默认日历

我尝试了以下方法:

    var ns = Globals.ThisAddIn.Application.Session;

    var recip = ns.CreateRecipient("me@me.com");
    if (recip.Resolve())
    {
      var sharedCal = ns.GetSharedDefaultFolder(recip, Outlook.OlDefaultFolders.olFolderCalendar);
    }
这根本不起作用

我可以通过执行以下操作查看共享日历

private void GetCalendars()
        {

            Outlook.CalendarModule calModule = (Outlook.CalendarModule)this.Application.ActiveExplorer().NavigationPane.Modules.GetNavigationModule(Outlook.OlNavigationModuleType.olModuleCalendar);


            foreach (Outlook.NavigationGroup group in calModule.NavigationGroups)

            {
                Debug.WriteLine("Calandar Folders Group  >>>>" + group.Name);


                foreach (Outlook.NavigationFolder folder in group.NavigationFolders)
                {

                    Debug.WriteLine("Calandar Folders:  >>>>" + folder.DisplayName);

                }
            }
        }
我只是不知道一旦我有了名字怎么打开日历。使用上述步骤无法获取ID

在outlook中,日历存在于“共享日历”导航树中

我正在寻找一种方法来获取共享日历的名称,然后让用户选择共享日历(例如,从下拉框中),然后打开该日历

我找到了关于如何做其他事情的代码,但不是特别的

有人能给我指出正确的方向吗


谢谢

无法使用Outlook对象模型访问该文件夹

对于缓存的Exchange邮箱,文件夹缓存在主邮箱的OST文件中。在扩展MAPI级别(C++或Delphi),文件夹存储在最终用户可见的IPM树之外。您可以在中看到数据-单击IMsgStore |打开根文件夹| GetHierarchyTable |双击“共享数据”文件夹| GetHierarchyTable |等


您可以使用(从.RootFolder开始)打开该文件夹。您还可以使用.GetSharedMailbox打开另一用户的联机邮箱,并导航到以.IPMRootFolder开头的有问题的文件夹(返回该邮箱中用户可见的顶级文件夹)。

您无法使用Outlook对象模型访问该文件夹

对于缓存的Exchange邮箱,文件夹缓存在主邮箱的OST文件中。在扩展MAPI级别(C++或Delphi),文件夹存储在最终用户可见的IPM树之外。您可以在中看到数据-单击IMsgStore |打开根文件夹| GetHierarchyTable |双击“共享数据”文件夹| GetHierarchyTable |等


您可以使用(从.RootFolder开始)打开该文件夹。您还可以使用.GetSharedMailbox打开另一个用户的联机邮箱,并导航到以.IPMRootFolder开头的有问题的文件夹(返回该邮箱中用户可见的顶级文件夹)。

OK。我现在正在使用赎回libs。如何获取显示在“共享日历”下的所有共享日历的列表您可以枚举“共享数据”文件夹(将为您提供收件人)的所有子文件夹,然后查找名为Calendar的文件夹。我非常确定Outlook映射用户与文件夹类型与实际fodler,但我始终无法找到映射存储的位置。您能给我一个如何执行此操作的示例吗?谢谢:-)rFolder=Session.Stores.DefaultStore.RootFolder.Folders(“共享数据”).Folders(“最后一次”).Folders(“日历”)Hi-Dmitry。共享数据文件夹下没有项目。项目计数为0;好啊我现在正在使用赎回libs。如何获取显示在“共享日历”下的所有共享日历的列表您可以枚举“共享数据”文件夹(将为您提供收件人)的所有子文件夹,然后查找名为Calendar的文件夹。我非常确定Outlook映射用户与文件夹类型与实际fodler,但我始终无法找到映射存储的位置。您能给我一个如何执行此操作的示例吗?谢谢:-)rFolder=Session.Stores.DefaultStore.RootFolder.Folders(“共享数据”).Folders(“最后一次”).Folders(“日历”)Hi-Dmitry。共享数据文件夹下没有项目。项目计数为0;