Экспорт электронных писем из Outlook в Excel, включая изображения - PullRequest
0 голосов
/ 26 августа 2018

В настоящее время я работаю над своим проектом, который заключается в экспорте писем из Outlook в мой файл Excel.

Мой текущий код экспортирует только текст, а не изображения.В некоторых моих письмах есть отрывочные изображения (.png / .jpg).

Есть ли исправить это?

Вот мой текущий код в Excel:

Sub getDataFromOutlook()

'~~Declarations~~'
Dim OutlookApp As Outlook.Application
Dim OutlookNamespace As Namespace
Dim Folder As MAPIFolder
Dim OutlookMail As Variant
Dim i As Integer

'~~Set email to be saved~~'
Set OutlookApp = New Outlook.Application
Set OutlookNamespace = OutlookApp.GetNamespace("MAPI")
Set Folder = OutlookNamespace.GetDefaultFolder(olFolderInbox).Folders("SAMPLE")

i = 1


For Each OutlookMail In Folder.Items
'~~Write to Excel~~'
If OutlookMail.ReceivedTime >= Range("email_Receipt_Date").Value Then
    Range("email_Subject").Offset(i, 0).Value = OutlookMail.Subject
    Range("email_Subject").Offset(i, 0).Columns.AutoFit
    Range("email_Subject").Offset(i, 0).VerticalAlignment = xlTop
    Range("email_Date").Offset(i, 0).Value = OutlookMail.ReceivedTime
    Range("email_Date").Offset(i, 0).Columns.AutoFit
    Range("email_Date").Offset(i, 0).VerticalAlignment = xlTop
    Range("email_Sender").Offset(i, 0).Value = OutlookMail.SenderName
    Range("email_Sender").Offset(i, 0).Columns.AutoFit
    Range("email_Sender").Offset(i, 0).VerticalAlignment = xlTop
    Range("email_Body").Offset(i, 0).Value = OutlookMail.Body
    Range("email_Body").Offset(i, 0).Columns.AutoFit
    Range("email_Body").Offset(i, 0).VerticalAlignment = xlTop

    i = i + 1
End If

Next OutlookMail

'~~Set to Null~~'
Set Folder = Nothing
Set OutlookNamespace = Nothing
Set OutlookApp = Nothing

End Sub

Ответы [ 2 ]

0 голосов
/ 26 августа 2018

Вы пробовали Attachments?У меня не было необходимости делать это, но я бы приложил свои первоначальные усилия.

MailItem.Attachments.Item(0) давайте поработаем с первым вложением.

Поскольку ваша переменная OutlookMail содержитMailItem, первое, что я бы попробовал, это ...

ActiveSheet.Pictures.Insert(OutlookMail.Attachments.Item(0))

Второе, что я бы попробовал, - это поиск ответа.

Извлечение картинок из электронных писем и вставка картинок в Excel не являются непонятными задачами, поэтому для тех, кто их ищет, будет много подробных примеров.

Мне вспоминается ответ моей бабушки, когда яЯ бы спросил, был ли мой скейтборд во дворе.«Смотри своими глазами, а не ртом», - вот что она сказала мне.Здесь это уместно.

0 голосов
/ 26 августа 2018

Посмотрите на этот пост:

Как скопировать почтовое сообщение Outlook в Excel с помощью VBA или макросов

Я думаю, что это должно дать вам то, что вам нужно (прокрутите вниз к основанию).

...