Vba Outlook使用GetSharedDefaultFolder在SharedMailbox中选择子文件夹

Vba Outlook使用GetSharedDefaultFolder在SharedMailbox中选择子文件夹,vba,outlook,Vba,Outlook,我在SharedMailbox中选择子文件夹时遇到问题我已经阅读了GetSharedDefaultFolder上的许多参考资料但是,要把它正确地组合在一起是很困难的。 如果你能帮上忙,那就太好了 Sub ListOutlookEmailInfoInExcel() Dim olNS As Outlook.NameSpace Dim olTaskfolder As Outlook.MAPIFolder Dim olTask As Outlook.TaskItem Dim olItem

我在SharedMailbox中选择子文件夹时遇到问题
我已经阅读了
GetSharedDefaultFolder
上的许多参考资料
但是,要把它正确地组合在一起是很困难的。
如果你能帮上忙,那就太好了

Sub ListOutlookEmailInfoInExcel()
  Dim olNS As Outlook.NameSpace
  Dim olTaskfolder As Outlook.MAPIFolder
  Dim olTask As Outlook.TaskItem
  Dim olItems As Outlook.Items

  Set o1NS = GetNamespace("MAPI")
  Set o1TaskFolder = o1NS.GetSharedDefaultFolder("Shared Folder 1", _
    olFolderInbox).Folders("admin")
  Set o1Items = o1TaskFolder.Items
End Sub
命名空间类的方法接受两个参数:收件人对象和FolderType值

本文提供了以下C#中的示例代码:


首先按照此处所述解析所有者

解析收件人时,您可以使用邮箱所有者的显示名称、别名或电子邮件地址


对不起,C之后不行#
private void DisplayManagerCalendar()
{
    Outlook.AddressEntry addrEntry =
         Application.Session.CurrentUser.AddressEntry;
    if (addrEntry.Type == "EX")
    {
        Outlook.ExchangeUser manager =
        Application.Session.CurrentUser.
            AddressEntry.GetExchangeUser().GetExchangeUserManager();
        if (manager != null)
        {
            Outlook.Recipient recip =
                Application.Session.CreateRecipient(manager.Name);
            if (recip.Resolve())
            {
                try
                {
                    Outlook.Folder folder =
                       Application.Session.GetSharedDefaultFolder(
                          recip, Outlook.OlDefaultFolders.olFolderCalendar)
                       as Outlook.Folder;
                    folder.Display();
                }
                catch
                {
                    MessageBox.Show("Could not open manager's calendar.",
                       "GetSharedDefaultFolder Example",
                       MessageBoxButtons.OK,
                       MessageBoxIcon.Error);
                }
            }
        }
    }
}
Sub ListOutlookEmailInfoInExcel()

Dim olNS As Outlook.NameSpace
Dim olTaskfolder As Outlook.MAPIFolder
Dim olTask As Outlook.TaskItem
Dim olItems As Outlook.Items

Dim objOwner As Outlook.Recipient

Set olNS = GetNamespace("MAPI")

Set objOwner = olNS.CreateRecipient("Shared Folder 1")
objOwner.Resolve

If objOwner.Resolved Then
    Set olTaskFolder = olNS.GetSharedDefaultFolder(objOwner, _
      olFolderInbox).Folders("admin")
    Set olItems = olTaskFolder.Items
End If

End Sub