아무도 내가 아래에있는 곳으로 잘못 갔는지 설명 할 수 있습니까?myItems.sort는 하나의 Outlook 하위 폴더에서 작동하지만 다른 사람에게는 dosnt가 적용됩니다.
코드는 하나의 하위 폴더 (최신 첨부 파일 추출)에서 작동하지만 다른 하위 폴더에 적용될 때 최신 하위 폴더가 아니라 가장 오래된 전자 메일에서 정보를 추출합니다.
'myFolder.Items.sort'가 올바른 방법입니까?
어떤 피드백이라도 대단히 감사하겠습니다.
Sub SaveAttachments_RsConfirmation()
Dim myOlapp As Outlook.Application
Dim myNameSpace As Outlook.Namespace
Dim myFolder As Outlook.MAPIFolder
Dim myItem As Outlook.MailItem
Dim myAttachment As Outlook.Attachment
Dim I As Long
Set myOlapp = CreateObject("Outlook.Application")
Set myNameSpace = myOlapp.GetNamespace("MAPI")
Set myFolder = myNameSpace.GetDefaultFolder(olFolderInbox)
Set myFolder = myFolder.Folders("Rs.Confirmation")
myFolder.Items.Sort "[ReceivedTime]", True
For Each myItem In myFolder.Items
myFolder.Items.Sort "[ReceivedTime]", True
If myItem.Attachments.Count <> 0 Then
For Each myAttachment In myItem.Attachments
I = 1
myAttachment.SaveAsFile "C:\Del.Gen.v1\Confirmation.Email\" & I & ".txt"
eSender = myItem.SenderEmailAddress
dtRecvd = myItem.ReceivedTime
dtSent = myItem.CreationTime
sSubj = myItem.Subject
sMsg = myItem.Body
Exit For
Next
End If
Next
Workbooks("Del.Gen.v1.xlsm").Worksheets("Sheet4").Range("A1").Value = eSender
Workbooks("Del.Gen.v1.xlsm").Worksheets("Sheet4").Range("A2").Value = dtRecvd
Workbooks("Del.Gen.v1.xlsm").Worksheets("Sheet4").Range("A3").Value = dtSent
Workbooks("Del.Gen.v1.xlsm").Worksheets("Sheet4").Range("A4").Value = sSubj
Workbooks("Del.Gen.v1.xlsm").Worksheets("Sheet4").Range("A5").Value = sMsg
Debug.Print eSender
Debug.Print dtRecvd
Debug.Print dtSent
Debug.Print sSubj
Debug.Print sMsg
End Sub
피드 백 Dmitry 주셔서 감사. 정말로 도움이된다!! – Michael