Добрый день!
Использую в работе 2 макроса для сохранения вложений из писем Outlook в папку.
№1.
Если вложения имеют одинаковые названия, то более новый заменяет собой старый.
Код |
---|
Sub Замена(myItem As Outlook.MailItem)
Dim att_count As Integer
For att_count = 1 To myItem.Attachments.Count
myItem.Attachments.Item(att_count).SaveAsFile ("T:\Logist\" & myItem.Attachments.Item(att_count).FileName)
Next
End Sub
|
№2
К каждому вложению с одинаковыми названиями добавляет дату и время и сохраняет в папку.
Код |
---|
Public Sub Logist(itm As Outlook.MailItem)
Dim objAtt As Outlook.Attachment
Dim saveFolder As String
dateOfMailItem = Format(itm.ReceivedTime, "yyyy.mm.dd")
saveFolder = "T:\Logist\"
If Dir(saveFolder, vbDirectory) = "" Then
MkDir saveFolder
End If
For Each objAtt In itm.Attachments
j = " "
For i = 1 To 1000
If Not Dir(saveFolder & "\" & dateOfMailItem & j & objAtt.FileName) = "" Then
j = "_" & i & "_"
Else
Exit For
End If
Next i
objAtt.SaveAsFile saveFolder & "\" & dateOfMailItem & j & objAtt.FileName
Set objAtt = Nothing
Next
End Sub
|
И так получилось, что очень не хватает ещё двух.
№3. Если приходит письмо с таким же вложением, то он его пропускает и не сохраняет в папку. Более ранний файл имеет приоритет.
№4. Если приходит письмо с таким же вложением, то он выбирает файл больший по размеру и его сохраняет. Больший размер файла имеет приоритет.
Может кто такой использует в работе? Или один из этих можно поправить.
Заранее огромное спасибо.