Ошибка выполнения 287 при получении свойств электронной почты Outlook из Excel - PullRequest
0 голосов
/ 07 февраля 2019

При доступе к электронным письмам Outlook через Excel VBA я сталкиваюсь с «ошибкой выполнения 287».Однако это сообщение появляется только при запуске сценария в Office 2013 с учетной записью Exchange, назначенной моему клиенту Outllok.При работе в Office 2019 с моим личным адресом электронной почты Outlook.com, назначенным клиенту, он работает нормально, выполняя то, что от него ожидают.

Dim olApp As Outlook.Application
Dim olNamespace As Outlook.Namespace
Dim olFolder As Outlook.MAPIFolder
Dim olMailItem As Outlook.MailItem
Dim rng As Range
Dim i As Long

Set olApp = New Outlook.Application
Set olNamespace = olApp.GetNamespace("MAPI")
Set olFolder = olNamespace.GetDefaultFolder(olFolderInbox).Folders("CV")
Set rng = Range("table1")
i = 1

For Each olMailItem In olFolder.Items
    rng.Cells(i, 1).value = olMailItem.ReceivedTime   'Success
    rng.Cells(i, 2).value = olMailItem.subject        'Success
    rng.Cells(i, 3).value = olMailItem.Sender         'Throw error 287
    rng.Cells(i, 3).value = olMailItem.SenderName     'Throw error 287
    rng.Cells(i, 4).value = Left(olMailItem.Body, 20) 'Throw error 287
    i = i + 1
Next olMailItem

Set olFolder = Nothing
Set olNamespace = Nothing
Set olApp = Nothing

MsgBox (i - 1) & " emails retrieved."

Я уже проверил ссылки на библиотеки, ноих точно так же в обоих сценариях, которые я тестировал.

enter image description here

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

Кто-нибудь знает, что это может быть?

...