아래는 Outlook의 메일에서 첨부 파일을 다운로드하는 스크립트입니다. 첨부 파일 이름이 다른 경우에만 내 코드에서 언급 한 경로에덮어 쓰지 않고 동일한 이름의 첨부 파일을 다운로드하십시오.
Public Sub SaveAttachmentsToDisk(MItem As Outlook.MailItem)
Dim oAttachment As Outlook.Attachment
Dim sSaveFolder As String
Dim dateFormat
dateFormat = Format(Now, "yyyy-mm-dd")
sSaveFolder = "c:\My\temp\"
For Each oAttachment In MItem.Attachments
oAttachment.SaveAsFile sSaveFolder & oAttachment.DisplayName
Next
End Sub
그것은 다운로드 및 저장합니다.
예를 들어 첨부 파일이있는 메일을 'List.csv'로 받았습니다. 같은 이름으로 나는 약 10 번 우편을 받았다.
하나의 파일 (가장 최근 파일) 만 경로에 저장되었습니다.
나를 위해 적합한 최종 코드.
Public Sub saveAttachtoDisk(itm As Outlook.MailItem)
Dim objAtt As Outlook.Attachment
Dim saveFolder As String
Dim dt30daysAgo As Date
dt30daysAgo = DateAdd("d", -30, Now)
saveFolder = "c:\My\temp"
For Each objAtt In itm.Attachments
If itm.ReceivedTime > dt30daysAgo Then
If objAtt.FileName <> "list.csv" Then
objAtt.SaveAsFile saveFolder & "\" & objAtt.FileName
Else
objAtt.SaveAsFile saveFolder & "\" & itm.Subject & objAtt.FileName
End If
End If
Next
End Sub
이 첨부 파일이 같은 이름 인 경우 파일을 덮어 쓰고있는 것 같아요. 파일 이름 끝에 카운터와 같은 것을 추가해보십시오. 또는 아마도 이메일의 배달 날짜 – gizlmo
그래서 저장하기 전에 파일이 있는지 확인하고, 사본이 있으면 파일 이름을 변경하십시오. –