首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Outlook 2013中打开非默认日历的共享日历

问在Outlook 2013中打开非默认日历的共享日历
EN

Stack Overflow用户
提问于 2015-10-01 22:18:30
回答 1查看 542关注 0票数 1

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

我尝试过以下几种方法:

代码语言:javascript
复制
    var ns = Globals.ThisAddIn.Application.Session;

    var recip = ns.CreateRecipient("me@me.com");
    if (recip.Resolve())
    {
      var sharedCal = ns.GetSharedDefaultFolder(recip, Outlook.OlDefaultFolders.olFolderCalendar);
    }

这是行不通的。

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

代码语言:javascript
复制
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中,日历存在于“共享日历”导航树中。

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

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

有人能给我指个方向吗??

谢谢!!

EN

回答 1

Stack Overflow用户

发布于 2015-10-01 23:07:06

不能使用Outlook对象模型访问该文件夹。

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

您可以使用Redemption (从RDOStore.RootFolder开始)打开该文件夹。您还可以使用RDOSession.GetSharedMailbox打开其他用户的联机邮箱,然后导航到以RDOStore.IPMRootFolder开头的相关文件夹(返回该邮箱中该用户可见的顶级文件夹)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32889916

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档