Использование Excel VBA для извлечения данных почтовой формы Outlook - PullRequest
0 голосов
/ 11 ноября 2019

Я пытаюсь выяснить, могу ли я использовать Excel VBA для доступа к своему почтовому ящику Outlook, найти соответствующие электронные письма и вернуть следующие данные из форм:

  1. Отправитель
  2. Дата получения
  3. Тема
  4. Все данные из полей формы

У меня есть следующий код, который возвращает 1 и 2, но я не могувыясните, как получить 3 и 4. Существует множество примеров кода, демонстрирующих работу кода, аналогичного приведенному ниже, однако я получаю

Ошибка времени выполнения 287 Приложение определено или ошибка, определенная объектом

когда он пытается запустить OlMail.SenderName и OlMail.Body.

Кто-нибудь испытывал подобное и нашел решение? Любая помощь с благодарностью.

Sub GetMailDetails()

Dim olApp As Object
Dim olNs As Object
Dim Fldr As Object
Dim objSubfolder As Object
Dim olMail As Variant
Dim i As Integer, x As Date
Dim myitem As Object
Dim msgtxt As String

'Set myitem = objSubfolder.Items(i)
Set olApp = CreateObject("Outlook.Application")
Set olNs = olApp.GetNamespace("MAPI")

Set Fldr = olNs.GetDefaultFolder(6) 'Inbox

i = 1
x = Date

For Each objSubfolder In Fldr.Folders
    For Each olMail In objSubfolder.Items
        If InStr(olMail.Subject, "Request Form") > 0 Then
             ActiveSheet.Cells(i, 1).Value = olMail.Subject
            ActiveSheet.Cells(i, 2).Value = olMail.ReceivedTime
            'The following line fails
            ActiveSheet.Cells(i, 3).Value = olMail.SenderName
            'Trying to retrieve email body contents here
            ActiveSheet.Cells(i, 3).Value = olMail.body
            olMail.Move objSubfolder.Folders(1)
            i = i + 1
        End If
    Next olMail
Next objSubfolder

Set Fldr = Nothing
Set olNs = Nothing
Set olApp = Nothing

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