Почему я получаю эту ошибку в VBA при импорте электронных писем из outlook?
Мне нужно импортировать электронные письма из определенной папки в Outlook в excel с помощью VBA.
Получение следующей ошибки в этой строке:
Ошибка времени выполнения 1004 метод диапазона объекта _global не удалось.
Range("eMail_subject").Offset(i, 0).Value = OutlookMail.Subject
Предполагая, что это недопустимый тип данных или что-то в этом роде. Также предполагая, что это произойдет со всеми диапазонами ниже.
Я использую следующий код из этого источника:
Как импортировать электронную почту Outlook в Excel с помощью VBA | Как Преуспеть[^]
Sub test() 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).Folders("veeam") i = 1 For Each OutlookMail In Folder.Items If OutlookMail.ReceivedTime >= Range("B1").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_text").Offset(i, 0).Value = OutlookMail.Body i = i + 1 End If Next OutlookMail Set Folder = Nothing Set OutlookNamespace = Nothing Set OutlookApp = Nothing End Sub
Что я уже пробовал:
Нашел только несколько ресурсов. Что-то связанное с текстом вместо числа, а также наоборот, но, похоже, становится хуже.
Gerry Schmitz
Все это зависит от того, как вы отформатировали свой лист Excel (который никто другой не может видеть), говорится в статье.
Richard MacCutchan
Используйте отладчик в макросе, чтобы увидеть, какие значения он использует в операторе Range и почему они могут быть неправильными.