Många användare hoppas att Outlook automatiskt kan flytta och arkivera inkommande e-postmeddelanden till specifika e-postmappar enligt bifogade filnamn. Därför kommer vi i den här artikeln att avslöja ett snabbt sätt att hjälpa dig att få det med Outlook VBA.
Om du vill automatiskt flytta inkommande e-postmeddelanden till de specifika mapparna enligt deras bilagor filnamn, kommer du definitivt att tänka på att använda Outlook-regeln i första hand. Men du kommer äntligen att upptäcka att Outlook-regeln inte har en funktion för att kontrollera den bifogade filnamnet. Därför, om du verkligen vill inse det, måste du använda andra sätt, till exempel via ett tredjepartstillägg eller Outlook VBA. Så här kommer vi att lära dig hur du uppnår det med VBA. Läs vidare för att få detaljerade operationer och konkreta VBA-koder.

Flytta inkommande e-postmeddelanden automatiskt till specifika mappar baserat på bilagor
- För somtart, starta ditt Outlook-program som vanligt.
- Tryck sedan på "Alt + F11" knapparna för att komma åt VBA editor.
- I det efterföljande "Microsoft Visual Basic for Applications"-fönstret kan du hitta och dubbelklicka på "ThisOutlookSession"-projektet på vänster sida.
- Nästa i det öppnade projektfönstret "ThisOutlookSession", kopiera och klistra in följande VBA-koder.
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
- Därefter måste du digitalt signera det nya VBA-projektet.
- För det första kan du använda det inbyggda verktyget – Digitala certifikat för VBA-projekt för att skapa ett personligt certifikat.
- Klicka sedan på "Verktyg" > "Digital signatur" i verktygsfältet i VBA-redigeraren.
- Följ sedan instruktionerna på skärmen för att signera den.
- Efter det kan du avsluta VBA-redigeraren och ändra Outlook-makrosäkerheten till låg.
- Senare borde du restart Outlook för att aktivera det nya VBA-projektet.
- Så småningom, från och med nu, kommer Outlook automatiskt att kontrollera bilagornas filnamn för alla inkommande e-postmeddelanden och flytta de specifika till specifika mappar.
Skydda dina PST-data
Det är almost ett obestridligt faktum att Outlook är känsligt för korruption. Därför är det en ganska svår uppgift att skydda dina PST-data mot skador. Men du kan fortfarande hitta några regler och tips. Till exempel, för att förhindra PST-dataförlust, kan du fortsätta att göra en regelbunden datasäkerhetskopiering. Dessutom, för att ge omedelbar räddning efter Outlook-krasch, kan du förbereda en erfaren PST-fix verktyg, som DataNumen Outlook Repair.
Författarintroduktion:
Shirley Zhang är expert på dataåterställning DataNumen, Inc., som är världsledande inom teknik för återställning av data, inklusive SQL Server återvinning och Outlook-programvara för reparationsprogramvara. För mer information besök www.datanumen.com

