2014-11-04 3 views
1

Я написал небольшой фрагмент кода, который проверяет дополнительный почтовый ящик (помимо моего главного адреса в Outlook) для E-Mail.VBA: не все сообщения электронной почты Outlook появляются

Проблема возникает при использовании кода на компьютере, в который добавляется только дополнительный почтовый ящик (в качестве основного почтового ящика). Очевидно, что код не может получить все электронные письма, только старшие. Это неудобно, потому что путь к подпапкам и даже сообщениям электронной почты, кажется, найдены, но не более новые. Я вижу их в Outlook без проблем.

У кого-нибудь есть идея, почему это происходит? Как я уже сказал, такой же код работает без проблем на ПК с установкой Outlook, с другим основным почтовым ящиком и почтовым ящиком, который необходимо проверить как дополнительный.

Вот код я использую, чтобы получить доступ к Outlook, и сообщения электронной почты:

Dim objFolder As Outlook.Folder 
Dim objOL As Outlook.Application 
Set objOL = CreateObject("Outlook.Application")  
Set objFolder = objOL.GetNamespace("MAPI").Folders.Item("[email protected]").Folders.Item("Posteingang").Folders.Item("Subfolder-Name").Folders.Item("Subfolder-Name-2") 
With objFolder.Items(1) 
... 
+0

Этот вопрос похож на мой, но не был решен и там: [VBA Перспектива MailItem - не отображает все элементы] (http://stackoverflow.com/questions/24003325/vba-outlook-mailitem- not-display-all-items) – plitvicer

ответ

0

Почему вы всегда извлекая первый элемент в коллекции Items? Не хотите ли вы пропустить элементы?

set objItems = objFolder.Items 
objItems.Sort "[ReceivedTime]" 
'now objItems is sorted 
+0

Вы правы. Обычно я петлю. Этот код просто демонстрирует проблему, так как этот первый eMail не самый новый, хотя в Outlook есть более новый. – plitvicer

+0

Вы не должны ожидать, что первый элемент будет самым старым или новейшим. Ничто не гарантируется, пока вы фактически не сортируете коллекцию Items. См. Обновленный ответ выше –

+0

Это не поможет, извините. E-mail не сортируются в неправильном порядке, их просто нет (по крайней мере, для VBA). Если я прокручу все электронные письма, появятся самые новые _never_, ни в начале, ни в конце списка. – plitvicer

Смежные вопросы