web-dev-qa-db-ja.com

追加の受信トレイへの参照を取得する

Outlook 2007を使用しています。メインのメールボックスはTait、Markです。

プロファイルに別のメールボックスを追加しました:調達、リクエスト

どちらもOutlookの最上位フォルダとして表示されます。

メールボックス-Tait、Mark>-会話履歴
-削除されたアイテム
-ドラフト
-受信トレイ
-ジャンクメール

メールボックス-調達、リクエスト
-会話履歴
- 削除されたアイテム
-下書き
-受信トレイ
- ジャンクメール

以下を使用して、デフォルトの受信ボックス(テイト、マーク)への参照を取得できます。
Set Inbox = ns.GetDefaultFolder(olFolderInbox)

「調達、要求」メールボックスの受信ボックスへの参照を取得するにはどうすればよいですか?

20
Mark

このような何かがうまくいくはずです

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

このリンクには 異なる受信トレイを処理する に役立つコードがいくつかあります-興味があるかもしれません

18
brettdj
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
6
Bruno

使用する Namespace.GetSharedDefaultFolder。現在のプロファイルでメールボックスが開かれていない場合でも機能します。もちろん、メールボックスを開いて、問題のフォルダにアクセスする権利も必要です。

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

他のユーザーのメールボックスを開く必要がある場合(すべてのフォルダーを除いて)、 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