2012-01-31 54 views
16

Tôi đang sử dụng Outlook 2007 - và có hộp thư chính của tôi: Tait, MarkLấy tham chiếu đến thêm Inbox

Tôi cũng đã bổ sung thêm một hộp thư vào profile của tôi: Mua sắm, Yêu Cầu

Cả hai xuất hiện như là cấp cao nhất thư mục trong Outlook:

Mailbox - Tait, Mark> -Conversation Lịch sử
Items -deleted
-Drafts
- Hộp thư
-Junk E-Mail

Mailbox - Mua sắm, Yêu Cầu
--Conversation Lịch sử
Items --Deleted
--Drafts
--Inbox
--Junk E-Mail

Tôi có thể tham chiếu đến Hộp thư đến mặc định của mình (Tait, Mark) bằng cách sử dụng:
Set Inbox = ns.GetDefaultFolder(olFolderInbox)

Làm cách nào để tôi có được tham chiếu đến Hộp thư đến trong hộp thư "Mua sắm, Yêu cầu"?

Trả lời

16

Something như thế này nên làm các trick

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") 

Liên kết này có một số mã hữu ích cho handling different Inboxes - nó có thể quan tâm

+0

Thank you very much !!! :) – Mark

+0

@MarkTait vui mừng vì đã giúp :) – brettdj

+0

Điều này sẽ chỉ hoạt động nếu cửa hàng đã được thêm vào hồ sơ curent. –

3

Sử dụng Namespace.GetSharedDefaultFolder. Nó sẽ hoạt động ngay cả khi hộp thư không được mở trong cấu hình hiện tại. Bạn vẫn cần phải có quyền để mở hộp thư và truy cập thư mục trong câu hỏi của khóa học:

Set vNamespace = Application.GetNamespace("MAPI") 
set vRecipient = vNamespace.CreateRecipient("Procurement, Request") 
if vRecipient.Resolve Then 
    set vFolder = vNamespace.GetSharedDefaultFolder(vRecipient, olFolderInbox) 
End If 

Nếu bạn cần phải mở hộp thư của người dùng khác (với tất cả ra khỏi thư mục của nó), bạn có thể sử dụng Redemption và nó RDOSession phương pháp .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 
5
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 
+0

Vui lòng giải thích cách mã này trả lời câu hỏi. – JAL

Các vấn đề liên quan