2014-11-04 4 views
1

전자 메일의 추가 수신함 (Outlook의 기본 주소 외에)을 확인하는 작은 코드를 작성했습니다.VBA : 일부 Outlook 전자 메일이 표시되지 않습니다.

PC에서 코드를 사용할 때 추가받은 편지함 만 Outlook (메인받은 편지함)에 추가되는 문제가 나타납니다. 분명히 코드는 모든 이메일을 검색 할 수 없으며 이전 이메일 만 검색 할 수 있습니다. 그것은 서브 폴더와 이메일까지의 경로가 발견되는 것처럼 보이기 때문에 어색한 것이지 새로운 것이 아닙니다. Outlook에서 아무 문제없이 볼 수 있습니다.

누구나 아이디어가 있습니까? 왜 이런 일이 발생합니까? 내가 말했듯이 같은 코드는 다른 메인받은 편지함과받은 편지함을 추가로 검사해야하는 Outlook 설치가있는 PC에서는 문제없이 작동합니다.

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-displaying-all-items) – plitvicer

답변

0

왜 당신은 항상 Items 컬렉션의 첫 번째 항목을 검색하는 : 나는 Outlook과 이메일에 액세스하기 위해 사용하는 코드가 있어요

? 항목을 반복하지 않겠습니까?

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

당신이 옳습니다. 일반적으로 나는 반복한다. 이 코드는이 첫 번째 전자 메일이 최신 전자 메일이 아니기 때문에 Outlook에 최신 전자 메일이 있지만 문제를 보여주기위한 것입니다. – plitvicer

+0

첫 번째 항목이 가장 오래된 항목이거나 최신 항목이 아니어야합니다. 실제로 Items 컬렉션을 정렬 할 때까지는 아무 것도 보장되지 않습니다. –

+0

위의 업데이트 된 답변을 참조하십시오. 도움이되지 않습니다. 죄송합니다. eMail은 잘못된 순서로 정렬되지 않으며 단순히 존재하지 않습니다 (적어도 VBA의 경우). 모든 전자 메일을 통해 반복하면 목록의 시작 부분이나 끝 부분에서 최신 항목이 표시되지 않습니다. – plitvicer

관련 문제