获取对其他收件箱的引用
我正在使用Outlook 2007 – 并有我的主邮箱:Tait,Mark
我还添加了另一个邮箱到我的个人资料:采购,请求
两者都显示为Outlook中的顶级文件夹:
邮箱 – 大吉,马克> – 历史
-删除的项目
-Drafts
-inbox
-垃圾邮件邮箱 – 采购,请求
– 会谈历史
– 删除的项目
–Drafts
–Inbox
– 垃圾邮件
我可以使用以下命令获取我的默认收件箱(Tait,Mark)的引用:
Set Inbox = ns.GetDefaultFolder(olFolderInbox)
如何在“采购,请求”邮箱中获取对收件箱的引用?
像这样的事情应该做的伎俩
Dim objNS As Outlook.NameSpace Dim objFolder As Outlook.MAPIFolder Set objNS = GetNamespace("MAPI") Set objFolder = objNS.Folders("Procurement, Request") Set objFolder = objFolder.Folders("Inbox")
这个链接有一些有用的代码来处理不同的收件箱 – 它可能是有趣的
Dim olNS As NameSpace Dim InputFolder As Outlook.MAPIFolder Set olNS = Outlook.Application.GetNamespace("MAPI") ' Get reference to folder in users Mailbox for Input Set InputFolder = olNS.Folders("Procurement, Request").Folders("Inbox") ' all the emails in the shared inbox are represented by: InputFolder.Items
使用Namespace.GetSharedDefaultFolder
。 即使邮箱未在当前configuration文件中打开,它也可以工作。 您仍然需要有权打开邮箱并访问当然有问题的文件夹:
Set vNamespace = Application.GetNamespace("MAPI") set vRecipient = vNamespace.CreateRecipient("Procurement, Request") if vRecipient.Resolve Then set vFolder = vNamespace.GetSharedDefaultFolder(vRecipient, olFolderInbox) End If
如果您需要打开其他用户的邮箱(全部closures其文件夹),则可以使用Redemption及其RDOSession .GetSharedMailbox方法:
set Session = CreateObject("Redemption.RDOSession") Session.MAPIOBJECT = Application.Session.MAPIOBJECT set Store = Session.GetSharedMailbox("Procurement, Request") set vFolder = Store.GetDefaultFolder(olFolderInbox) MsgBox "The address of the mailbox owner: " & Store.Owner.Address