C++ Outlook 对象模型获取共享日历文件夹

C++ Outlook Object Model get shared calendar folder

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

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

截至目前,我的代码如下:


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

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

spCalFolder->GetCalendarExporter();

您需要使用 NameSpace.GetSharedDefaultFolder 方法,其中 returns 一个 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