Ошибка выполнения с помощью метода NS.GetSharedDefaultFolder - PullRequest
0 голосов
/ 22 ноября 2011

Запуск из MS Access (2007) через библиотеку Outlook Interop. Я получаю ошибку -2147221219 (8004011d) из звездной строки в одной учетной записи пользователя, но не в другой. Кажется, ошибка связана с разрешениями, и обе учетные записи имеют разрешения на полный доступ к учетной записи, календарь которой я пытаюсь открыть, и могут открывать и создавать встречи для нее через Outlook. Пример кода

Public Function NewApt(MtgDate As Date, Cat As String)

Dim objOLApp As Outlook.Application
Dim objNS As Outlook.Namespace
Dim objCalendar As Outlook.Folder
Dim NewMtg As Outlook.AppointmentItem
Dim Org As Outlook.Recipient

Set objOLApp = New Outlook.Application
Set objNS = objOLApp.GetNamespace("MAPI")
Set Org = objNS.CreateRecipient("tuser@somewhere.com")
Org.Resolve
If Org.Resolved Then
    ** Set objCalendar = objNS.GetSharedDefaultFolder(Org, olFolderCalendar)
Else
    MsgBox "Scheduling User failed to resolve, see Crimius."
    Exit Function
End If
...

Есть идеи, почему?

Ответы [ 3 ]

0 голосов
/ 31 августа 2017

Я знаю одну причину, по которой может появиться эта ошибка. Когда вы используете метод GetSharedDefaultFolder, а получатель в параметре 1 (Получатель) скрыт от глобального списка адресов, может возникнуть такая ошибка:

COMException (0x8004011D):
The operation failed because of a registry or installation problem. Restart Outlook and try again. If the problem persists, reinstall.
0 голосов
/ 13 февраля 2018

У меня была точно такая же проблема.Модуль VBA, который работал в течение многих лет, неожиданно отказался.После проверки оказалось, что внутренние адреса электронной почты изменились на предыдущие запуски макроса ...

Переход на адреса электронной почты решил проблему.

0 голосов
/ 26 марта 2016

Возможно, файл данных Outlook защищен паролем.Переключитесь в Outlook, введите пароль для Outlook-контейнера и повторите попытку.

...