VBA - Excel Outlook: системная ошибка & H8004010F (-2147221233) - PullRequest
0 голосов
/ 22 апреля 2020

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

Dim OutlookApp As Outlook.Application
Dim OutlookNamespace As Outlook.Namespace
Dim Folder As Outlook.Folder
Dim OutlookMail As Outlook.MailItem
Dim ExtractedFolder As Outlook.Folder

Set OutlookApp = New Outlook.Application
Set OutlookNamespace = OutlookApp.GetNamespace("MAPI")

Set sharedemail = olNS.CreateRecipient("ABC@company.com")

Set Folder = OutlookNamespace.GetSharedDefaultFolder(sharedemail, olFolderInbox).Folders("ToBeExtracted") 

Set ExtractedFolder = OutlookNamespace.GetSharedDefaultFolder(sharedemail, olFolderInbox).Folders("Extracted")

Я протестировал это на 4 разных машинах, и он работает вполне нормально, но по какой-то причине, когда я запускаю его на компьютере моего коллеги, мы получаем ошибку: System Error & H8004010F (-2147221233).

Обратите внимание, что я также пытался использовать

Set Folder = OutlookNamespace.GetDefaultFolder(olFolderInbox).Folders("ToBeExtracted")
Set ExtractedFolder = OutlookNamespace.GetDefaultFolder(olFolderInbox).Folders("Extracted")

Не пытаясь использовать функцию GetSharedDefaultFolder, которая снова работала на тех же машинах, что и раньше, но давала точно такую ​​же ошибку на машине моих коллег. Причина, по которой я хочу это использовать, заключается в том, что в конечном итоге мой коллега будет использовать этот макрос в общем почтовом ящике, но он не будет работать независимо от того, пытаюсь ли я направить его в общий почтовый ящик или почтовый ящик по умолчанию. Я дважды проверил, и папка определенно существует в моих коллегах.

Я действительно понятия не имею, что является причиной этого, я пытался найти что-то похожее на inte rnet, но не могу найти решение это работает для меня, и я не могу найти кого-либо с той же ошибкой (только похожие коды ошибок). Если кто-то может указать мне, что является причиной проблемы и как я могу ее решить, я буду очень признателен.

Редактировать: я пытался выполнить следующее:

Range("A2") = OutlookNamespace.GetSharedDefaultFolder(sharedemail, olFolderInbox)

Какой набор значение от A2 до «Входящие», но если я попытаюсь получить доступ к каким-либо электронным письмам в папке «Входящие», это не позволит мне. Я снова попытался запустить это на своем компьютере, и это сработало, и я смог получить доступ к содержимому электронной почты в своей папке входящих сообщений

...