Excel 如何引用共享邮箱的非默认文件夹
我在共享邮箱中有以下文件夹结构(test@outlook.com)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
- 收件箱
- 测试
- T-SUB-1
- T-SUB-2
- 发送的项目
- 删除的项目
- 列表项
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默认的收件箱。