Есть ли возможность импортировать электронную почту outlook inbox в excel
Я попытался импортировать электронную почту непосредственно из почтового ящика outlook, но получил сообщение об ошибке "Ошибка времени выполнения 13" несоответствие типа
Sub outlooktoimport() Dim OutlookApp As Outlook.Application Dim OutlookNamespace As Namespace Dim Folder As MAPIFolder Dim OutlookMail As Variant Dim i As Integer Set OutlookApp = New Outlook.Application Set OutlookNamespace = OutlookApp.GetNamespace("MAPI") Set Folder = OutlookNamespace.GetDefaultFolder(olFolderInbox).Items i = 1 For Each OutlookMail In Folder.Items If OutlookMail.ReceivedTime >= Range("email_start_date").Value Then Range("email_Subject").Offset(i, 0).Value = OutlookMail.Subject Range("email_Date").Offset(i, 0).Value = OutlookMail.ReceivedTime Range("email_Sender").Offset(i, 0).Value = OutlookMail.SenderName Range("email_Body").Offset(i, 0).Value = OutlookMail.Body i = i + 1 End If Next OutlookMail Set Folder = Nothing Set OutlookNamespace = Nothing Set OutlookApp = Nothing MsgBox "All imported" End Sub
Что я уже пробовал:
Я меняю почтовый ящик retreiving, но он не работает
Richard MacCutchan
Вам нужно найти строку, в которой возникает ошибка, и посмотреть, какие переменные вызывают проблему.
Sandeep Mewara
Вы пытаетесь это сделать: https://www.techrepublic.com/blog/microsoft-office/quickly-export-outlook-e-mail-items-to-excel/
посмотрите и поделитесь, если это не так.
ZurdoDev
Ошибка ничего не значит для нас, если мы не знаем, какая строка кода вызвала ее.
dili1234
Set Folder = OutlookNamespace.GetDefaultFolder(olFolderInbox).Items
Когда я отлаживаю его, в этой строке появляется ошибка
ZurdoDev
Несоответствие типов означает, что две вещи не совпадают. Я не знаю этого кода, но просто глядя на него, вы пытаетесь установить элементы в папке в саму папку. Папка объявляется как папка MAPI, но вы пытаетесь установить элементы внутри папки в эту переменную, что не будет работать.
dili1234
Когда изменилась программа
Set Folder = OutlookNamespace.GetDefaultFolder(olFolderInbox)
ошибка приходит как время выполнения 438 и как только она отлаживается она указывает на ошибку
If OutlookMail.ReceivedTime >= Range("email_start_date").Value Then