- Katılım
- 4 Haziran 2005
- Mesajlar
- 2,746
- Excel Vers. ve Dili
- 2010-2016
Kolay gelsin.
Gelen mailler kurallar ile ilgili klasörlere alınmakta. Aşağıdaki kod ile de bilgisayara yedeklenmekte. Yalnız bu kod çalıştığı zaman hepsini bir klsöre almakta. Bunun yerine ya günlük bir klasör oluşturp ona atma ya da alt klasörler için alt klasör açıp ona atma imkanı olur mu. Teşekkürler.
Public Sub SaveMailDisk_1(itm As Outlook.MailItem)
On Error Resume Next
Set kls = CreateObject("Scripting.FileSystemObject")
Dim saveFolder As String
saveFolder = "E:\OUTLOOK YEDEK" 'Maillerin kaydedileceği dosya
Dim dateFormat
dateFormat = Format(itm.ReceivedTime, "ddmmyyyy HH.mm.ss") ' Mailin dosya adına alınma zamanını eklemek için
Dim dosyaadi As String
dosyaadi = saveFolder & "\" & dateFormat & "-" & itm.Sender.Name & "-" & degistir(itm.Subject)
MkDir saveFolder & "\" & dateFormat & "-" & itm.Sender.Name
ChDir saveFolder & "\" & dateFormat & "-" & itm.Sender.Name
saveFolder = saveFolder & "\" & dateFormat & "-" & itm.Sender.Name
dosyaadi = saveFolder & "\" & dateFormat & "-" & itm.Sender.Name & "-" & degistir(itm.Subject) & " .msg"
itm.SaveAs dosyaadi ' Maili diske kaydeder.
For Each objAtt In itm.Attachments 'Mail'deki ekleri diske kaydeder.
objAtt.SaveAsFile saveFolder & "\" & dateFormat & "-" & itm.Sender.Name & "-" & degistir(itm.Subject) & objAtt.DisplayName
Set objAtt = Nothing
Next
End Sub
Function degistir(yazi As String) 'Dosya adındaki geçersiz karakterleri temizler
On Error Resume Next
yk = "_" 'Geçersiz karakterin yerine ne koyacağız?
yazi = Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(yazi, ":", yk), "*", yk), "\", yk), "/", yk), "<", yk), ">", yk), "|", yk), """", yk), "?", yk)
degistir = yazi
End Function
Gelen mailler kurallar ile ilgili klasörlere alınmakta. Aşağıdaki kod ile de bilgisayara yedeklenmekte. Yalnız bu kod çalıştığı zaman hepsini bir klsöre almakta. Bunun yerine ya günlük bir klasör oluşturp ona atma ya da alt klasörler için alt klasör açıp ona atma imkanı olur mu. Teşekkürler.
Public Sub SaveMailDisk_1(itm As Outlook.MailItem)
On Error Resume Next
Set kls = CreateObject("Scripting.FileSystemObject")
Dim saveFolder As String
saveFolder = "E:\OUTLOOK YEDEK" 'Maillerin kaydedileceği dosya
Dim dateFormat
dateFormat = Format(itm.ReceivedTime, "ddmmyyyy HH.mm.ss") ' Mailin dosya adına alınma zamanını eklemek için
Dim dosyaadi As String
dosyaadi = saveFolder & "\" & dateFormat & "-" & itm.Sender.Name & "-" & degistir(itm.Subject)
MkDir saveFolder & "\" & dateFormat & "-" & itm.Sender.Name
ChDir saveFolder & "\" & dateFormat & "-" & itm.Sender.Name
saveFolder = saveFolder & "\" & dateFormat & "-" & itm.Sender.Name
dosyaadi = saveFolder & "\" & dateFormat & "-" & itm.Sender.Name & "-" & degistir(itm.Subject) & " .msg"
itm.SaveAs dosyaadi ' Maili diske kaydeder.
For Each objAtt In itm.Attachments 'Mail'deki ekleri diske kaydeder.
objAtt.SaveAsFile saveFolder & "\" & dateFormat & "-" & itm.Sender.Name & "-" & degistir(itm.Subject) & objAtt.DisplayName
Set objAtt = Nothing
Next
End Sub
Function degistir(yazi As String) 'Dosya adındaki geçersiz karakterleri temizler
On Error Resume Next
yk = "_" 'Geçersiz karakterin yerine ne koyacağız?
yazi = Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(yazi, ":", yk), "*", yk), "\", yk), "/", yk), "<", yk), ">", yk), "|", yk), """", yk), "?", yk)
degistir = yazi
End Function
