Как настроить вложенные папки Outlook в общей папке по умолчанию в VBA? - PullRequest
2 голосов
/ 08 июля 2019

Я пытаюсь извлечь информацию из общего почтового ящика Outlook.Проблема возникает, когда я пытаюсь установить папку Outlook в подпапку общего olFolderInbox.Странная часть в том, что в некоторые дни макрос будет работать идеально и извлекать нужные мне данные.Тем не менее, иногда макрос не может найти объект папки и отображает сообщение об ошибке, даже если код не был затронут.

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

Вот мой код:

Dim OutlookNameSpace As Outlook.Namespace
Dim OutlookFolder As Outlook.Folder
Dim OutlookMail As Outlook.MailItem
Dim ObjOwner As Outlook.Recipient

Set OutlookNameSpace = Outlook.Application.GetNamespace("MAPI")
Set ObjOwner = OutlookNameSpace.CreateRecipient("EmailName@email.ca")
ObjOwner.Resolve

If ObjOwner.Resolved Then

  Set OutlookFolder = OutlookNameSpace.GetSharedDefaultFolder _ 
  (ObjOwner, olFolderInbox).Folders("FolderName")

End If

Полученное сообщение об ошибке:

"Run-time error '-2147221233 (8004010f)':
The attempted operation failed. An object could not be found."

Средство отладкивыделяет строку, где я пытался установить подпапку в качестве папки Outlook.

Когда я закомментирую: .Folders ("FolderName") макрос работает нормально.

Если бы вы могли сказать мне, почему этот код иногда работает, но в других случаях происходит сбой, это бы мне очень помогло!

Спасибо!

1 Ответ

1 голос
/ 08 июля 2019

Помните, что если папки делегата по умолчанию кэшируются (в OST-файле основного почтового ящика), подпапки не будут присутствовать.

Попробуйте отключить кэширование для папок делегата - снимите флажок "Флажок «Загрузка общих папок» на вкладке «Дополнительно» диалогового окна свойств учетной записи Exchange.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...