我正在尝试使用C#获取Outlook中的所有共享文件夹。
我知道方法NameSpace.GetSharedDefaultFolder(),但需要指定收件人。
我想知道当我不了解收件人时如何获取所有共享文件夹。
答案 0 :(得分:0)
致电Namespace.CreateRecipient
传递收件人姓名或地址。使用返回的Recipient
对象来调用Namespace.GetSharedDefaultFolder
。
答案 1 :(得分:0)
您需要知道收件人的姓名;它可以是表示收件人的显示名称,别名或完整SMTP电子邮件地址的字符串。在这种情况下,您将能够创建一个收件人对象并获取共享文件夹,如下面的示例代码所示:
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 Folder
Set CalendarFolder = _
myNamespace.GetSharedDefaultFolder _
(myRecipient, olFolderCalendar)
CalendarFolder.Display
End Sub