【问题标题】:C++ Outlook Object Model get shared calendar folderC++ Outlook 对象模型获取共享日历文件夹
【发布时间】:2021-06-10 18:31:39
【问题描述】:

我想在共享日历的联系人文件夹中使用 GetCalendarExporter()。

我已经编写了我认为只会提供默认日历文件夹(即所有者的日历文件夹)的代码。我想要共享(委托)日历文件夹对象/指针。知道该怎么做吗?

目前我的代码是这样的:


CComPtr<Olk::_NameSpace> spNameSpace = spApplication->GetNamespace(L"MAPI");

Olk::MAPIFolderPtr spCalFolder = spNameSpace->GetDefaultFolder(Olk::olFolderCalendar);

spCalFolder->GetCalendarExporter();

【问题讨论】:

    标签: c++ visual-c++ outlook mapi outlook-object-model


    【解决方案1】:

    您需要使用NameSpace.GetSharedDefaultFolder 方法返回一个Folder 对象,该对象代表指定用户的指定默认文件夹。此方法用于委派方案,其中一个用户已将一个或多个默认文件夹(例如,他们的共享日历文件夹)的访问权限委派给另一个用户。

    Sub ResolveName() 
     Dim myNamespace As Outlook.NameSpace 
     Dim myRecipient As Outlook.Recipient 
     Dim CalendarFolder As Outlook.Folder 
     Set myNamespace = Application.GetNamespace("MAPI") 
     Set myRecipient = myNamespace.CreateRecipient("Eugene Astafiev") 
     myRecipient.Resolve 
     If myRecipient.Resolved Then 
       Call ShowCalendar(myNamespace, myRecipient) 
     End If 
    End Sub 
     
    Sub ShowCalendar(myNamespace, myRecipient) 
     Dim CalendarFolder As Outlook.Folder 
     Set CalendarFolder = myNamespace.GetSharedDefaultFolder(myRecipient, olFolderCalendar) 
     CalendarFolder.Display 
    End Sub
    

    【讨论】:

    • 您好 Eugene Astafiev,感谢您的回答。只有一个问题,GetSharedDefaultFolder() 需要解析收件人并将其作为输入参数传递。如果我没有收件人怎么办?我想做的是。想申请 CalendarFolder->GetCalendarExporter();其中 CalendarFolder 是共享文件夹。
    • 您必须知道共享日历的人才能获取日历文件夹。使用CreateRecipient 方法创建收件人对象。
    • 感谢尤金·阿斯塔菲耶夫
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-24
    • 2017-06-05
    • 2017-04-03
    • 1970-01-01
    • 1970-01-01
    • 2021-07-28
    相关资源
    最近更新 更多