Моя папка называется "Request Mailbox"
в Outlook,Как получить MailItems из определенной папки в Outlook,
Как я могу получить список всех mailitems
в этой папке
Моя папка называется "Request Mailbox"
в Outlook,Как получить MailItems из определенной папки в Outlook,
Как я могу получить список всех mailitems
в этой папке
Чтобы получить список MailItems
, вы можете просто сделать это
список MailItem будет отображаться Email
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("[email protected]") '// 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
Копия, вставленная с http://www.gregthatcher.com/ –
Для делегата почтового ящика уже открыт в Outlook, используйте Application.Session.Folders.("[email protected]").Folders("TheFolderName")
Думаю, я пропустил эту часть, если я не ошибаюсь, нет ''. '' между 'Folders. (« The'? – 0m3r
Да, вы правы. Или вы можете Expliiclty указать функцию Item вместо того, чтобы полагаться на свойство по умолчанию: 'Application.Session.Folders.Item ("[email protected]"). Folders.Item ("TheFolderName") ' –
Где эта папку, расположенный по отношению к верхней и/или папке Входящие? –
Это общий почтовый ящик. Это 1 уровень вниз –
https://meta.stackexchange.com/a/5235/289619 если вы не возражаете – 0m3r