Я пытаюсь выяснить, могу ли я использовать Excel VBA для доступа к своему почтовому ящику Outlook, найти соответствующие электронные письма и вернуть следующие данные из форм:
- Отправитель
- Дата получения
- Тема
- Все данные из полей формы
У меня есть следующий код, который возвращает 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