我正在尝试使用 C# 获取 Outlook 中的所有共享文件夹。
我知道方法NameSpace.GetSharedDefaultFolder((,但它需要指定收件人。
我想知道如何在不知道收件人时获取所有共享文件夹。
通过传递收件人姓名或地址Namespace.CreateRecipient
呼叫。使用返回的Recipient
对象调用Namespace.GetSharedDefaultFolder
。
您需要知道收件人的姓名;它可以是表示收件人的显示名称、别名或完整 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