Ошибка при экспорте почты из общего почтового ящика в outlook - PullRequest
0 голосов
/ 20 марта 2019

привет,

Я использую приведенный ниже код для извлечения писем, чтобы преуспеть из общего почтового ящика.

Sub getDataFromOutlook()

Dim OutlookApp As Outlook.Application
Dim OutlookNamespace As Namespace
Dim Folder As MAPIFolder
Dim OutlookMail As Variant
Dim objOwner As Outlook.Recipient
Dim i As Integer

Set OutlookApp = New Outlook.Application

Set OutlookNamespace = OutlookApp.GetNamespace("MAPI")


Set objOwner = OutlookNamespace.CreateRecipient("ZURDO-Shared.MB-ZURDO- 
FINANCE@hyatt.com")
objOwner.Resolve

If objOwner.Resolved Then

Set Folder = OutlookNamespace.GetSharedDefaultFolder(objOwner, 
olFolderInbox).Folders("HOTSTATS")
End If
i = 1

For Each OutlookMail In Folder.Items



If OutlookMail.ReceivedTime >= Range("email_Receipt_Date").Value Then

Range("email_Subject").Offset(i, 0).Value = OutlookMail.Subject
Range("email_Subject").Offset(i, 0).Columns.AutoFit
Range("email_Subject").Offset(i, 0).VerticalAlignment = xlTop
Range("email_Date").Offset(i, 0).Value = OutlookMail.ReceivedTime
Range("email_Date").Offset(i, 0).Columns.AutoFit
Range("email_Date").Offset(i, 0).VerticalAlignment = xlTop
Range("email_Sender").Offset(i, 0).Value = OutlookMail.SenderName
Range("email_Sender").Offset(i, 0).Columns.AutoFit
Range("email_Sender").Offset(i, 0).VerticalAlignment = xlTop
Range("email_Body").Offset(i, 0).Value = OutlookMail.Body
Range("email_Body").Offset(i, 0).Columns.AutoFit
Range("email_Body").Offset(i, 0).VerticalAlignment = xlTop

i = i + 1
End If
Next OutlookMail

Set Folder = Nothing
Set OutlookNamespace = Nothing
Set OutlookApp = Nothing

End Sub

Однако я получаюошибка в области ниже

Set Folder = OutlookNamespace.GetSharedDefaultFolder(objOwner, olFolderInbox).Folders("HOTSTATS")

Ошибка выполнения 2147221233 (8004010f)

Может кто-нибудь помочь, поскольку я не понимаю, почему эта ошибка возникает?

1 Ответ

0 голосов
/ 20 марта 2019

Ошибка MAPI_E_NOT_FOUND. Попробуйте разбить это утверждение на две части: одну получить папку «Входящие», а другую - подпапку.

Если папка «Входящие» делегата кэшируется локально, Outlook синхронизирует только папку, но не ее подпапки. Вам потребуется отключить режим кэширования или использовать Extended MAPI или Redemption, чтобы открыть почтовый ящик делегата в онлайн-режиме.

...