首页 > 解决方案 > 获取与不是主邮箱的邮箱关联的收件箱

问题描述

我正在尝试获取特定电子邮件地址的收件箱,其中有多个地址连接到同一个 Outlook。
只有检查主邮箱(Outlook 中列出的第一个邮箱)才能成功。

dim outlApp as Object   
dim outlNsp as Object
dim outlMapp as Object
dim outlsubMapp as Object
dim Mappar as Object

outlApp = CreateObject("Outlook.Application")
outlNsp = outlApp.GetNamespace("MAPI")

outlMapp = outlNsp.Folders.item(Mail_username)

Mappar = outlMapp.Folders
outlsubMapp = Mappar.item(6) 
'6 is olFolderInbox enum value

outlsubMapp = outlNsp.GetDefaultFolder(6)
'6 is olFolderInbox enum value

Inbox = outlsubMapp.Name

如果我更改 Mail_username 我仍然会得到第一个电子邮件收件箱文件夹。

标签: vbaoutlook

解决方案


此宏列出了您有权访问的每个商店以及将包含其收件箱的顶级文件夹。它显示了如何访问非默认存储和文件夹。

我不确定这是否是一个完整的答案,但它会让你开始。尝试宏然后回来有任何问题。

Sub ListStoresAndTopLevelFolders()

  Dim FldrCrnt As Folder
  Dim InxFldrChild As Long
  Dim InxStoreCrnt As Long
  Dim StoreCrnt As Folder

  With Application.Session
    For InxStoreCrnt = 1 To .Folders.Count
      Set StoreCrnt = .Folders(InxStoreCrnt)
      With StoreCrnt
        Debug.Print .Name
        For InxFldrChild = .Folders.Count To 1 Step -1
          Set FldrCrnt = .Folders(InxFldrChild)
          With FldrCrnt
            Debug.Print "   " & .Name
          End With
        Next
      End With
    Next
  End With

End Sub

推荐阅读