Excel 如何引用共享邮箱的非默认文件夹

Excel 如何引用共享邮箱的非默认文件夹,excel,vba,Excel,Vba,我在共享邮箱中有以下文件夹结构(test@outlook.com) 收件箱 测试 T-SUB-1 T-SUB-2 发送的项目 删除的项目 列表项 如何引用不是outlook默认文件夹的测试文件夹。我该如何检查所有子文件夹中的邮件以进行测试 这是代码,但返回NULL Private Sub CommandButton1_Click() Dim ns As Outlook.Namespace Dim olShareName As Outlook.Recip

我在共享邮箱中有以下文件夹结构(test@outlook.com

  • 收件箱
  • 测试
    • T-SUB-1
    • T-SUB-2
  • 发送的项目
  • 删除的项目
  • 列表项
如何引用不是outlook默认文件夹的测试文件夹。我该如何检查所有子文件夹中的邮件以进行测试

这是代码,但返回NULL

Private Sub CommandButton1_Click()
    Dim ns          As Outlook.Namespace
    Dim olShareName As Outlook.Recipient
    Dim Inbox       As MAPIFolder
    Dim SubFolder   As MAPIFolder
    Dim msg         As Outlook.MailItem
    Dim msgcount    As Integer
    Dim Items As Outlook.Items
    
    Set ns = GetNamespace("MAPI")
    Set olShareName = ns.CreateRecipient("test@outlook.com")
    Set Inbox = ns.GetSharedDefaultFolder(olShareName, olFolderInbox).Folder("TEST")
    Set Items = Inbox.Items 
    msgcount = 0 
    ....```

将文件夹结构想象成一棵系谱树,而不是它在用户界面中的显示方式

从收件箱到收件箱的父文件夹,再到与收件箱处于同一级别的测试文件夹

选项显式
私有子命令按钮1_单击()
'需要引用Outlook XX.X对象库
将ns设置为outlook.namespace
将ShareName设置为outlook.Recipient
将邮箱设置为文件夹
将收件箱设置为文件夹
Dim firstLevelFolder作为文件夹
将secondLevelFolder设置为文件夹
我想我会坚持多久
设置ns=GetNamespace(“MAPI”)
设置olShareName=ns.CreateRecipient(“test@outlook.com")
设置Inbox=ns.GetSharedDefaultFolder(olShareName,olFolderInbox)
设置Mailbox=Inbox.Parent
Set firstLevelFolder=Mailbox.folders(“测试”)
调试。打印“firstLevelFolder.folders.count:”&firstLevelFolder.folders.count
对于i=firstLevelFolder.folders.count到1步骤-1
设置secondLevelFolder=firstLevelFolder.folders(i)
Debug.Print secondLevelFolder.name
下一个
端接头

在Google中键入
vba outlook共享邮箱子文件夹站点:stackoverflow.com
会得到什么?我尝试过0m3r解决方案,但似乎无法像此测试文件夹那样工作;t默认的收件箱。