Birçok kullanıcı, Outlook'un gelen e-postaları ek dosya adlarına göre otomatik olarak belirli posta klasörlerine taşıyabileceğini ve arşivleyebileceğini umuyor. Bu nedenle, bu makalede, Outlook VBA ile elde etmenize yardımcı olacak hızlı bir yol göstereceğiz.
Gelen e-postaları, eklerinin dosya adlarına göre belirli klasörlere otomatik olarak taşımak istiyorsanız, kesinlikle ilk etapta Outlook kuralını kullanmayı düşüneceksiniz. Ancak, sonunda Outlook kuralının ek dosya adını kontrol etme özelliği olmadığını keşfedeceksiniz. Bu nedenle, gerçekten gerçekleştirmek istiyorsanız, örneğin üçüncü taraf bir eklenti veya Outlook VBA gibi başka yollar kullanmalısınız. Bu yüzden burada size VBA ile bunu nasıl başaracağınızı öğreteceğiz. Ayrıntılı işlemleri ve somut VBA kodlarını almak için okumaya devam edin.

Gelen E-postaları Eklere Göre Belirli Klasörlere Otomatik Olarak Taşı
- olaraktart, Outlook programınızı normal şekilde başlatın.
- Daha sonra VBA editörüne erişmek için “Alt + F11” tuş düğmelerine basın.
- Sonraki “Microsoft Visual Basic for Applications” penceresinde sol tarafta “ThisOutlookSession” projesini bulup çift tıklayabilirsiniz.
- Ardından açılan “ThisOutlookSession” proje penceresinde aşağıdaki VBA kodlarını kopyalayıp yapıştırın.
Public WithEvents objMails As Outlook.Items
Private Sub Application_Startup()
Set objMails = Outlook.Application.Session.GetDefaultFolder(olFolderInbox).Items
End Sub
Private Sub objMails_ItemAdd(ByVal Item As Object)
Dim objMail As Outlook.MailItem
Dim objAttachments As Outlook.attachments
Dim objAttachment As Outlook.Attachment
Dim strAttachmentName As String
Dim objInboxFolder As Outlook.Folder
Dim objTargetFolder As Outlook.Folder
'Ensure the incoming item is an email
If TypeOf Item Is MailItem Then
Set objMail = Item
Set objAttachments = objMail.attachments
'Check if the incoming email contains one or more attachments
If objAttachments.Count > 0 Then
For Each objAttachment In objAttachments
strAttachmentName = objAttachment.DisplayName
Set objInboxFolder = Application.Session.GetDefaultFolder(olFolderInbox)
'Check the names of all the attachments
'Specify the target folders
If InStr(LCase(strAttachmentName), "worklog") > 0 Then
Set objTargetFolder = objInboxFolder.Folders("WorkLog")
ElseIf InStr(LCase(strAttachmentName), "report") > 0 Then
Set objTargetFolder = objInboxFolder.Folders("Report")
ElseIf InStr(LCase(strAttachmentName), "statistics") > 0 Then
Set objTargetFolder = objInboxFolder.Folders("Statistics")
End If
Next
'Move the email to specific folder
objMail.Move objTargetFolder
End If
End If
End Sub
- Ardından, yeni VBA projesini dijital olarak imzalamanız gerekir.
- İlk olarak, kişisel bir sertifika oluşturmak için yerleşik araç olan VBA Projeleri için Dijital Sertifikalar'ı kullanabilirsiniz.
- Ardından VBA düzenleyicide, araç çubuğundaki "Araçlar" > "Dijital İmza"yı tıklayın.
- Ardından, imzalamak için ekrandaki talimatları izleyin.
- Bundan sonra, VBA düzenleyicisinden çıkıp Outlook makro güvenliğini düşük olarak değiştirebilirsiniz.
- Daha sonra res yapmalısıntarYeni VBA projesini etkinleştirmek için Outlook.
- Sonunda, bundan sonra Outlook, gelen tüm e-postaların eklerinin dosya adlarını otomatik olarak kontrol edecek ve belirli olanları belirli klasörlere taşıyacaktır.
PST Verilerinizi Koruyun
Bu sadakaost Outlook'un yolsuzluğa açık olduğu tartışılmaz bir gerçektir. Bu nedenle, PST verilerinizi hasara karşı korumak oldukça zahmetli bir iştir. Ancak yine de bazı kurallar ve ipuçları bulabilirsiniz. Örneğin, PST veri kaybını önlemek için düzenli bir veri yedeklemesi yapmaya devam edebilirsiniz. Ayrıca, Outlook çökmesinden sonra anında kurtarma sağlamak için, deneyimli bir kişi hazırlayabilirsiniz. PST düzeltmesi araç, gibi DataNumen Outlook Repair.
Yazar Tanıtımı:
Shirley Zhang, bir veri kurtarma uzmanıdır. DataNumendahil olmak üzere veri kurtarma teknolojilerinde dünya lideri olan , Inc. SQL Server kurtarma ve görünüm onarım yazılım ürünleri. Daha fazla bilgi için ziyaret edin www.datanumen.com

