我的文件夹在Outlook中名为 "Request Mailbox"
如何获取该文件夹中所有 mailitems
的列表
答案 0 :(得分:1)
要获取 MailItems
的列表,您只需执行此操作
MailItem列表将显示为电子邮件
Option Explicit
Sub MailItems()
Dim olNamespace As Outlook.NameSpace
Dim olFolder As Outlook.MAPIFolder
Dim olItem As Outlook.MailItem
Set olNamespace = Application.GetNamespace("MAPI")
Set olFolder = olNamespace.GetDefaultFolder(olFolderInbox).Folders("Request Mailbox")
Set olItem = Application.CreateItem(olMailItem) ' Creat EMail
With olItem
For Each olItem In olFolder.Items
Debug.Print olItem.Subject ' Print to immediate window
.body = .body & olItem.Subject & vbCrLf ' Print to Email
Debug.Print olItem.SenderName
.body = .body & olItem.SenderName & vbCrLf
Debug.Print olItem.ReceivedTime
.body = .body & olItem.ReceivedTime & vbCrLf & vbCrLf
Next ' vbCrLf = vb: Visual Basic Cr: Carriage Return Lf: LineFeed
.Subject = "Mail Items" ' Subject
.Display ' Display Msg
End With
End Sub
对于共享文件夹试试此
Option Explicit
Sub ShareMailItems()
Dim olNamespace As Outlook.NameSpace
Dim olShareName As Outlook.Recipient
Dim olShareInbox As Outlook.Folder
Dim olItem As Outlook.MailItem
Set olNamespace = Application.GetNamespace("MAPI")
Set olShareName = olNamespace.CreateRecipient("0m3r@email.com") '// Owner's email address
Set olShareInbox = olNamespace.GetSharedDefaultFolder( _
olShareName, olFolderInbox).Folders("Request Mailbox") '// FolderName
Set olItem = Application.CreateItem(olMailItem) ' Creat EMail
With olItem
For Each olItem In olShareInbox.Items
Debug.Print olItem.Subject ' Print to immediate window
.body = .body & olItem.Subject & vbCrLf ' Print to Email
Debug.Print olItem.SenderName
.body = .body & olItem.SenderName & vbCrLf
Debug.Print olItem.ReceivedTime
.body = .body & olItem.ReceivedTime & vbCrLf & vbCrLf
Next ' vbCrLf = vb: Visual Basic Cr: Carriage Return Lf: LineFeed
.Subject = "Mail Items" ' Subject
.Display ' Display
End With
End Sub
答案 1 :(得分:1)
对于已在Outlook中打开的委托邮箱,请使用Application.Session.Folders.("TheDelegateMialboxName@YourCompany.com").Folders("TheFolderName")