首页 > 解决方案 > 存在多个时选择收件箱

问题描述

您好我正在使用以下宏在收件箱中创建一批新文件夹。它的表现非常出色,但是我一生都无法弄清楚如何选择不同的收件箱(inbox1、inbox2、inbox3)所有不同的电子邮件帐户。

代码在这里:http ://www.slipstick.com/macros/Create%20subfolders%20at%20multiple%20levels.txt

标签: vbaoutlook

解决方案


如果在 Outlook 中配置了所有这些收件箱,您可以使用Stores集合迭代存储并使用Store.GetDefaultFolder方法,该方法返回一个Folder对象,该对象表示存储中的默认文件夹,并且是FolderType参数指定的类型。

如果您需要访问共享邮箱,您需要使用NameSpace.GetSharedDefaultFolder方法,该方法返回一个Folder对象,该对象代表指定用户的指定默认文件夹。

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("Dan Wilson") 
 myRecipient.Resolve 
 If myRecipient.Resolved Then 
   Call ShowCalendar(myNamespace, myRecipient) 
 End If
End Sub
 
Sub ShowCalendar(myNamespace, myRecipient) 
 Dim CalendarFolder As Outlook.Folder 
 
 Set CalendarFolder = myNamespace.GetSharedDefaultFolder(myRecipient, olFolderCalendar) 
 CalendarFolder.Display 
End Sub

推荐阅读